如何继续循环java
我的程序做不到我需要它做的事情,我已经在这个问题上坚持了六个小时。它会提示用户输入他们想投掷硬币的次数,程序会计算投掷的正面和反面的数量,并吐出正面和反面的总数以及作为正面滚动的百分比。我的问题是,循环只在第一次通过时结束。它只是停止,不会提示用户选择另一个号码或按0退出程序并返回主菜单,我如何解决这个问题?还有,我如何可以选择返回到另一个循环。我试过休息法,但它对我不起作用。我不知道我真的迷路了。我怎样才能让这个循环继续抛硬币,并询问用户他们想抛多少次?同时允许他们只需按0并退出此循环即可返回主菜单?我没有在这里发布代码,但它是一个包含不同子选项/游戏的while循环如何继续循环java,java,loops,Java,Loops,我的程序做不到我需要它做的事情,我已经在这个问题上坚持了六个小时。它会提示用户输入他们想投掷硬币的次数,程序会计算投掷的正面和反面的数量,并吐出正面和反面的总数以及作为正面滚动的百分比。我的问题是,循环只在第一次通过时结束。它只是停止,不会提示用户选择另一个号码或按0退出程序并返回主菜单,我如何解决这个问题?还有,我如何可以选择返回到另一个循环。我试过休息法,但它对我不起作用。我不知道我真的迷路了。我怎样才能让这个循环继续抛硬币,并询问用户他们想抛多少次?同时允许他们只需按0并退出此循环即可返回
if (anotherScanner.hasNext("t|T")) {
c = anotherScanner.next();
usersSelection = true;
System.out.println("");
System.out.println("COIN TOSS SIMULATOR");
System.out.println("");
System.out.println("Enter 0 to quit. How many tosses?");
Random rand = new Random();
float headsCount = 0;
float tailsCount = 0;
Scanner scanMan = new Scanner(System.in);
int numero = scanMan.nextInt();
boolean headsOrTails;
for (int j=0;j < numero;j++) {
if (numero == 0) { break; }
headsOrTails = rand.nextBoolean();
if (headsOrTails == true) {
headsCount++;
} else {
tailsCount++;
System.out.println(headsCount + " heads and " + tailsCount + " tails means " + (headsCount/(headsCount+tailsCount)*100 + "% were heads"));
}
}
}
if(另一个scanner.hasNext(“t | t”)){
c=另一个scanner.next();
usersSelection=true;
System.out.println(“”);
System.out.println(“抛硬币模拟器”);
System.out.println(“”);
System.out.println(“输入0退出。抛出多少次?”);
Random rand=新的Random();
浮顶计数=0;
浮动尾流=0;
Scanner scanMan=新扫描仪(System.in);
int numero=scanMan.nextInt();
布尔头尾;
对于(int j=0;j
用户输入代码也需要在循环中 System.out.println(“\n当i为2,j为2时继续到内部:”;
System.out.println("\ncontinue to inner when i is 2 and j is 2:");
for (int i = 1; i <= 3; i++) {
here4: for (int j = 1; j <= 3; j++) {
if ((i == 2) && (j == 2)) {
System.out.print("[continue to inner]");
continue here4;
}
System.out.print("[i:" + i + ",j:" + j + "]");
}
}
对于(int i=1;i您需要一个循环来调用代码:当(c!=0)您的代码打算始终输入“for”循环时,如果numero==0
,则退出循环
for (int j = 0; j < numero; j++) {
if (numero == 0) {
break;
}
...
}
…尽管如本文所述,if
是不相关的,因为使用numero==0
for
循环仍然迭代零次
但是,您的println()在循环中-每次抛出“tails”时它都会执行。我想您真的希望println()在所有硬币被抛出后发生一次:
if(numero !=0) {
for (int j = 0; j < numero; j++) {
...
}
System.out.println(...);
}
这个答案有点短。你可以写得更具体一点,也许可以显示在何处添加while循环。
if(numero !=0) {
for (int j = 0; j < numero; j++) {
...
}
System.out.println(...);
}
// Get input; play game until input is zero.
void playCoinTossGames(Scanner scanner) {
int input = promptAndGetInt(scanner);
while(input != 0) {
playOneCointossGame(input);
int input = promptAndGetInt(scanner);
}
// note two calls to get input above. This is called a
// "read-before-read-while" loop
}
// Print a prompt, then scan input for an integer
int promptAndGetInt(Scanner scanner) {
System.out.println("How many tosses? (0 to exit)";
return scanner.nextInt();
}
// Toss numberOfTosses times, then report the % of heads.
void playOneCointossGame(int numberOfTosses) {
for(int i=0; i<numberOfTosses; i++) {
// Toss a coin and record result
}
System.out.println(...); // summary of results
}