【发布时间】:2016-02-27 04:15:18
【问题描述】:
我几乎是 Java 的初学者,但我无法弄清楚以下问题。我希望这段代码生成 0-2 之间的随机数(工作正常)并将其添加到 int A、B、C、D 直到 A+B+C+D 的总和达到 4。我试图解决这个问题带有一个计数器(称为“zaehler”)。当计数器达到 4 时,while 循环不会停止!我真的无法弄清楚 - 也许有人有一些建议?提前致谢!
public void levelUp()
{
int zaehler = 0;
Random randomGenerator = new Random();
int A = 0;
int B = 0;
int C = 0;
int D = 0;
while(zaehler <= 4)
{
int randomInt1 = randomGenerator.nextInt(3);
A += randomInt1;
zaehler = zaehler + randomInt1;
System.out.println("randomInt1 = " + randomInt1);
System.out.println("A = " + A);
System.out.println("Zaehler = " + zaehler);
int randomInt2 = randomGenerator.nextInt(3);
B += randomInt2;
zaehler = zaehler + randomInt2;
System.out.println("randomInt2 = " + randomInt2);
System.out.println("B = " + B);
System.out.println("Zaehler = " + zaehler);
int randomInt3 = randomGenerator.nextInt(3);
C += randomInt3;
zaehler = zaehler + randomInt3;
System.out.println("randomInt3 = " + randomInt3);
System.out.println("C = " + C);
System.out.println("Zaehler =" + zaehler);
int randomInt4 = randomGenerator.nextInt(3);
D += randomInt4;
zaehler = zaehler + randomInt4;
System.out.println("randomInt4 = " + randomInt4);
System.out.println("D = " + D);
System.out.println("Zaehler = " + zaehler);
}
}
public static void main (String [] args)
{
TestRandom test = new TestRandom();
test.levelUp();
}
【问题讨论】:
-
你有
while(zaehler <= 4)所以它不会停止直到它达到一个数字 >= 5 -
“不停”是什么意思?
-
您是否要在达到 4 时立即退出循环?即如果
A是2和B是2你想退出循环而不改变C和D?如果是这样,请使用break。 -
你在 3 时会发生什么,然后下一个随机数是 2?结果你会在 5 岁。如何处理这种情况?
标签: java while-loop counter