我有以下代码,目的是掷骰子 10,000 次,然后将所有骰子对相加:
package assignments;
import java.util.Random;
public class Dice {
private int numbers;
private static Random generator;
public Dice() {
generator = new Random();
numbers = 0;
}
public void Roll() {
numbers = generator.nextInt(6) + 1;
}
public int getNumbers() {
return numbers;
}
}
还有:
package assignments;
public class RollDice {
public static void main(String[] args) {
final int rollCount = 10000;
Dice die1 = new Dice();
Dice die2 = new Dice();
int die1Number;
int die2Number;
int count = 0;
int dieTotal = 0;
for (count = 0; count < 10000; count++) {
die1.Roll();
die1Number = die1.getNumbers();
die2.Roll();
die2Number = die2.getNumbers();
dieTotal = die1Number + die2Number;
count++;
}
System.out.println(dieTotal);
}
}
问题是骰子实际上并没有被滚动 10,000 次,或者只是在每次循环时为骰子创建一个新的输入。
有人可以帮我每次添加新的骰子吗?
最佳答案
我改进了你的二等代码。删除了多余的代码
package assignments;
public class RollDice {
public static void main(String[] args) {
final int rollCount = 10000;
Dice die1 = new Dice();
Dice die2 = new Dice();
int die1Number;
int die2Number;
int dieTotal = 0;
for (int count = 0; count < rollCount ; count++) {
die1.Roll();
die1Number = die1.getNumbers();
die2.Roll();
die2Number = die2.getNumbers();
dieTotal += die1Number + die2Number;
}
System.out.println(dieTotal);
}
}
关于java - java中如何重复添加一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29068633/