在第二个while循环(在用户选择抛硬币模拟器选项之后),当用户选择0时,我遇到了问题,程序没有像我希望的那样返回到主菜单,而是停止了,没有循环回到主菜单,让用户选择另一个选项。
有什么办法解决这个问题吗?我不能使用多个方法,因为这是我正在做的一个项目的要求。我已经被困在这一个部分很长时间了,现在(一个星期),并将感激地感谢任何指针或方向。
下面是当用户运行抛硬币模拟器后选择零时我的程序的样子。
======CS302工具箱======
键入您选择的代码字母:t
掷硬币模拟器
输入0退出。掷几次?
0
(然后它只是停止,而不是重定向回主菜单)
{
Scanner anotherScanner = new Scanner(System.in);
boolean usersSelection = false;
outer:
while (!usersSelection)
{
System.out.println("===== CS302 TOOL BOX =====\nT > COIN TOSS SIMULATOR\nG > GRADE ESTIMATOR\nC > COLOR CHALLENGE\nQ > QUIT");
String c;
System.out.print(""+ "Type code letter for your choice: ");
if (anotherScanner.hasNext("q|Q"))
{
c = anotherScanner.next();
//usersSelection = true;
System.out.println("\n Good-bye");
break;
}
else 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();
Scanner insideScanner = new Scanner(System.in);
int feeble = insideScanner.nextInt();
double heads = 0;
double tails = 0;
boolean hvt;
while ( feeble != 0 ) { //Pay attention to this while loop
if (feeble == 0){break outer;}
for (int i =0; i < feeble; i++) {
hvt = rand.nextBoolean();
if (hvt == true){ heads++;}
else {tails++;}
}
System.out.println(heads + " heads and " + tails + " tails means " + (heads/(heads+tails)*100 + "% were heads"));
System.out.println("Enter 0 to quit. How many tosses?"); //I ask the question again
heads = 0;
tails = 0;
feeble = insideScanner.nextInt();//I get new input
}
}
usersselection
仍然为true,因此外部循环(while(!usersselection)
)不会再次运行。
此外,如果(feeble==0){break outer;}
是多余的,即使它确实工作,break outer;
将结束程序(通过退出外部循环)。
我在Java中做了一个小数字猜谜游戏。我的主JFrame(主菜单)有三个J按钮,播放,声音和退出。 按下play按钮开始我的游戏,一系列的JOptionPanes出现,要求用户输入数字。它工作正常,游戏运行正常。但是当我按play键玩游戏的时候,我不能按exit或者sound键或者游戏中的其他任何键。我甚至不能按JFrame主窗口的X(关闭)按钮,直到我完全玩完游戏,或者关闭JOptionPane
程序描述:人们使用jsliders输入用户分数,然后在游戏结束时点击按钮检查分数,它会告诉你谁得了第一、第二、第三等分数。 我不确定的是如何让程序告诉我得分最高的球员姓名。我把它分类了,它告诉你实际的分数,只是没有名字。 我基本上是在寻找: 代码:
我正在做一个关于模拟正在处理的CPU工作的项目。基本上,用户将输入一个工作,该工作的长度将被处理,优先级键(从-20到19,从-20开始以获得更高的优先级)。到目前为止,我已经让所有这些工作,除了程序正确终止。基本上,当我的优先级队列中的所有作业都被处理完时,我需要程序终止。当每个作业被处理时,它将从长度中减去,直到它为0。当它为0时,它将从优先级队列中移除。当没有剩余的作业(优先级队列是空的)时
我有一个程序正在显示结果的条形图。我想等到用户关闭条形图,继续下一行代码,询问他们是否要为该图输入新信息。 正在发生的是,柱状图的场景将打开,但什么也不会显示,并且JOptionPane立即弹出问题。如果我点击“否”,则显示图表,但程序结束。如果我点击“是”,程序将返回到前面的对话框窗口,但在其他对话框结束之前不会显示图表。 我想等待提示用户,直到他们关闭条形图。在这一点上,我是如此的沮丧,以至于
问题内容: 在C程序中,如果要从终端提供一些输入,则可以通过以下方式提供: 同样,如果我们想获得函数的返回值,那么我们如何得到它呢? 在每一个中我们写或; 我怎么知道我在航站楼退回了什么? 编辑:1 我得到的是,我们可以得到的返回值,但是它仅允许我成功返回小于125的值(在Linux中)。so 无法成功接收到大于此值的返回值 为什么是返回类型?为什么不保留它? 编辑2 如果返回的值大于125 ,我
我在GCP上有一个秘密,即问候语的秘密值是“你好”。在我的应用程序中,我有以下代码。 我有值(项目/221608087928 /secrets/greeting)通过运行以下命令。 我假设我的浏览器返回“Hello”。但它返回“//projects/221608087928/secrets/greeting”。我在POM中安装了gcp secret manager依赖项。如何让以下代码返回机密值?