如何继续循环java

如何继续循环java,java,loops,Java,Loops,我的程序做不到我需要它做的事情,我已经在这个问题上坚持了六个小时。它会提示用户输入他们想投掷硬币的次数,程序会计算投掷的正面和反面的数量,并吐出正面和反面的总数以及作为正面滚动的百分比。我的问题是,循环只在第一次通过时结束。它只是停止,不会提示用户选择另一个号码或按0退出程序并返回主菜单,我如何解决这个问题?还有,我如何可以选择返回到另一个循环。我试过休息法,但它对我不起作用。我不知道我真的迷路了。我怎样才能让这个循环继续抛硬币,并询问用户他们想抛多少次?同时允许他们只需按0并退出此循环即可返回

我的程序做不到我需要它做的事情,我已经在这个问题上坚持了六个小时。它会提示用户输入他们想投掷硬币的次数,程序会计算投掷的正面和反面的数量,并吐出正面和反面的总数以及作为正面滚动的百分比。我的问题是,循环只在第一次通过时结束。它只是停止,不会提示用户选择另一个号码或按0退出程序并返回主菜单,我如何解决这个问题?还有,我如何可以选择返回到另一个循环。我试过休息法,但它对我不起作用。我不知道我真的迷路了。我怎样才能让这个循环继续抛硬币,并询问用户他们想抛多少次?同时允许他们只需按0并退出此循环即可返回主菜单?我没有在这里发布代码,但它是一个包含不同子选项/游戏的while循环

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
}