[英]Java, while-loop, counter does not exit loop
我几乎是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();
}
使用for循环。 如果您希望按自己的意愿停止循环,则比while更好。
for (int i=0;i<=4;i++){
//Enter your loop here
//To create a random between 0 and 2:
int random= 0+(int)(Math.random()*2));
}
我不知道您是否了解循环,这会创建一个名为i的int(就像您的zaehler一样),每次循环结束时它都会增加1。 此循环将继续直到int i
达到4。
这将在4或5处停止。如果您根本不希望5,则需要更新问题以解决该情况。
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;
if (zaehler >= 4)
break;
int randomInt2 = randomGenerator.nextInt(3);
B += randomInt2;
zaehler = zaehler + randomInt2;
if (zaehler >= 4)
break;
int randomInt3 = randomGenerator.nextInt(3);
C += randomInt3;
zaehler = zaehler + randomInt3;
if (zaehler >= 4)
break;
int randomInt4 = randomGenerator.nextInt(3);
D += randomInt4;
zaehler = zaehler + randomInt4;
if (zaehler >= 4)
break;
}
System.out.println("A = " + A);
System.out.println("B = " + B);
System.out.println("C = " + C);
System.out.println("D = " + D);
System.out.println(zaehler);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.