我有一个简单的问题,我在循环中编写了switch case,有5个案例。
我的程序应该一直保持工作,但是当我输入5时,程序应该退出。
这是我的代码:
Case Order Amount
1 1 50
1 2 20
1 3 25
2 1 Result (35-50)=-15
. .
3 1 Result (-15-45)
问题是当我使用4个案例中的一个时。例如,如果我输入1 ...程序保持打印(添加)无限...我想只使用一次案例然后再回到程序进入另一个案例或退出。
答案 0 :(得分:4)
您需要在while循环中读取输入(SELECT
id
,description
FROM cakes WHERE id NOT IN(
SELECT
cakeId
FROM cake_ingredients
WHERE ingredientCode NOT LIKE 'E_%'
)
)。否则int choice = input.nextInt();
永远不会改变。
choice
答案 1 :(得分:0)
使用变量值作为触发器循环结束的两种替代方法。
就个人而言,我更喜欢方式风格而不是标签风格和变量风格。
// Using label
LOOP: for (;;) {
switch (input.nextInt()) {
case 1:
System.out.println("Add");
break; // exit switch, runs code after switch, then loops
case 2:
System.out.println("Add");
continue LOOP; // loops immediately, skipping code after switch
case 5:
break LOOP; // exits loop, skipping code after switch
}
// Potential "code after switch" here
}
// Using return from method
private static void prompt() {
for (;;) {
switch (input.nextInt()) {
case 1:
System.out.println("Add");
break;
case 5:
return; // we're done
}
}
}
答案 2 :(得分:0)
boolean run = true; while(run) { int choice = input.nextInt(); switch(choice) { case 1 : System.out.println("Add"); break; case 2 : System.out.println("Edit"); break; case 3 : System.out.println("Delete"); break; case 4 : System.out.println("Search"); break; case 5 : run = false; break; default: System.out.println("Invalid Choice .. Try Again."); } }