【发布时间】:2011-08-31 02:16:29
【问题描述】:
我的 switch 语句一直在循环。它应该打印您选择的选项,然后重新打印菜单。请帮忙! 这是我的代码:
menu ="\n\t1 Create Account" +
"\n\t2 Check balance" +
"\n\t3 Withdraw" +
"\n\t1 Deposit" +
"\n\t2 Get account ID" +
"\n\t3 Set ID" +
"\n\t1 Display Account Info" +
"\n\t0 Quit\n\n\n";
System.out.println(menu);
System.out.println("\tEnter your selection: ");
option = scan.nextInt();
while (option != 0) {
switch (option) {
case 1: // Enter and Validate SSN
System.out.print("option 1");
break;
case 2: //Enter and Validate Passwords
System.out.print("option 2");
break;
case 3: //Enter,Verify, and Translate a Phone keypad Number
System.out.print("option 3");
break;
case 4: // Enter and Validate SSN
System.out.print("option 4");
break;
case 5: //Enter and Validate Passwords
System.out.print("option 5");
break;
case 6: //Enter,Verify, and Translate a Phone keypad Number
System.out.print("option 6");
break;
case 7: //Enter,Verify, and Translate a Phone keypad Number
System.out.print("option 7");
break;
default: outputString = "\nInvalid Selection\n";
System.out.println(outputString);
break;
}
}
【问题讨论】:
-
为什么首先需要循环?
if声明不够吗?如果你想重新打印菜单,循环现在不会这样做;也许循环也应该包含那个块。 -
不,输入选择后需要继续打印菜单。 0 退出它
-
当我说循环不会那样做时,这就是我的意思。您的循环体只打印选项,直到它为 0,并且主体中没有任何内容可以将其设置为 0。您需要一个
do...while循环,以及打印逻辑。
标签: java loops switch-statement