【发布时间】:2014-02-18 13:09:26
【问题描述】:
我的程序不会做我需要它做的事情,我已经在这个问题上停留了六个小时。它提示用户输入他们想掷硬币的次数,程序会计算被抛的正面和反面的数量,并吐出正面和反面的总数以及正面朝上的百分比。我的问题是循环一旦第一次通过就结束了。它只是停止并且不会提示用户选择另一个数字或按 0 退出程序并返回主菜单,我该如何解决这个问题?另外,我怎样才能选择返回另一个循环。我已经尝试过 break 方法,但它对我不起作用。我不知道我真的迷路了。我怎样才能做到这一点,让这个循环继续抛硬币,仍然问用户他们想抛多少次?同时允许他们简单地按 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"));
}
}
}
【问题讨论】: