[英]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.