java - 如何 - 运行 不在主函数中的总数
java - How to - Running total that is not in main function
我需要保持 运行 总数,但它必须在我的计算中 class,而不是主要。除了计算中的总计 运行 外,我的程序可以满足我的需要。对于我的生活,我无法弄清楚。我将如何设置一种方法来保持不在我的主要功能中的 运行 总数?
public class CalculatorImpl implements CalculatorInterface {
private int total = 0;
@Override
public void reset() {
// TODO Auto-generated method stub
total = 0;
}
@Override
public double plus(int a) {
// TODO Auto-generated method stub
total = total + a;
return 0;
}
@Override
public double minus(int a) {
// TODO Auto-generated method stub
total = total - a;
return 0;
}
@Override
public double star(int a) {
// TODO Auto-generated method stub
total = total * a;
return 0;
}
@Override
public double slash(int a) {
// TODO Auto-generated method stub
total = total / a;
return 0;
}
@Override
public double equal() {
// TODO Auto-generated method stub
return total;
}
}
这是主程序
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random random = new Random(1000);
CalculatorInterface calc = new CalculatorImpl();
System.out.println("Answer 1: " + calc.equal()); // Print the initial
// value stored in
//calc should return 0
// Test calc class
for (int i = 0; i < 26; i++) {
// Get a random integer to select one of the four methods
int r = random.nextInt(4);
// Test statement for what it is selecting
// System.out.println( "Int: " + r );
switch (r) {
case 0:
calc.plus(random.nextInt(10));
break;
case 1:
calc.minus(random.nextInt(10));
break;
case 2:
calc.slash(random.nextInt(10));
break;
case 3:
calc.star(random.nextInt(10));
break;
default:
}
}
// Should return -218.0
System.out.println("Answer 2: " + calc.equal());
// Reset/clear
calc.reset();
// Should now have 0 in the calc, print 0
System.out.println("Answer 3: " + calc.equal());
// Simple example
calc.plus(2);
calc.minus(1);
calc.star(5);
calc.slash(10);
// Should now have 0.5 in the calc, print 0.5
System.out.println("Answer 4: " + calc.equal());
}
}
这是另一个class
public interface CalculatorInterface {
public void reset();
public double plus( int a );
public double minus( int a );
public double star( int a );
public double slash( int a );
public double equal();
}
总数是 int
,因此不能包含值 0.5
。声明为 double
.
我需要保持 运行 总数,但它必须在我的计算中 class,而不是主要。除了计算中的总计 运行 外,我的程序可以满足我的需要。对于我的生活,我无法弄清楚。我将如何设置一种方法来保持不在我的主要功能中的 运行 总数?
public class CalculatorImpl implements CalculatorInterface {
private int total = 0;
@Override
public void reset() {
// TODO Auto-generated method stub
total = 0;
}
@Override
public double plus(int a) {
// TODO Auto-generated method stub
total = total + a;
return 0;
}
@Override
public double minus(int a) {
// TODO Auto-generated method stub
total = total - a;
return 0;
}
@Override
public double star(int a) {
// TODO Auto-generated method stub
total = total * a;
return 0;
}
@Override
public double slash(int a) {
// TODO Auto-generated method stub
total = total / a;
return 0;
}
@Override
public double equal() {
// TODO Auto-generated method stub
return total;
}
}
这是主程序
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random random = new Random(1000);
CalculatorInterface calc = new CalculatorImpl();
System.out.println("Answer 1: " + calc.equal()); // Print the initial
// value stored in
//calc should return 0
// Test calc class
for (int i = 0; i < 26; i++) {
// Get a random integer to select one of the four methods
int r = random.nextInt(4);
// Test statement for what it is selecting
// System.out.println( "Int: " + r );
switch (r) {
case 0:
calc.plus(random.nextInt(10));
break;
case 1:
calc.minus(random.nextInt(10));
break;
case 2:
calc.slash(random.nextInt(10));
break;
case 3:
calc.star(random.nextInt(10));
break;
default:
}
}
// Should return -218.0
System.out.println("Answer 2: " + calc.equal());
// Reset/clear
calc.reset();
// Should now have 0 in the calc, print 0
System.out.println("Answer 3: " + calc.equal());
// Simple example
calc.plus(2);
calc.minus(1);
calc.star(5);
calc.slash(10);
// Should now have 0.5 in the calc, print 0.5
System.out.println("Answer 4: " + calc.equal());
}
}
这是另一个class
public interface CalculatorInterface {
public void reset();
public double plus( int a );
public double minus( int a );
public double star( int a );
public double slash( int a );
public double equal();
}
总数是 int
,因此不能包含值 0.5
。声明为 double
.