【问题标题】:DO.. WHILE.. with SWITCH menuDO.. WHILE.. 带有 SWITCH 菜单
【发布时间】:2014-06-17 21:26:08
【问题描述】:

这是一个带有切换菜单的 do..while 循环..

我试图让用户能够返回到菜单

System.out.println("Options: (C)reate, (R)ead, (W)rite, (L)ist, (S)ave or (E)xit.        (*****)");

但经过多次尝试和错误,我在选择 C、R、W、L 或 S 后仍然无法返回主菜单。

以下是代码的简短 sn-p..

do {
    System.out.println("Options: (C)reate, (R)ead, (W)rite, (L)ist, (S)ave or (E)xit.   
    (*****)");
    Scanner switchC = new Scanner(System.in);
    System.out.println("Please enter your choice: ");
    choice = switchC.next().charAt(0);

    switch (Character.toUpperCase(choice)) {
        case 'C':
    System.out.println("C");
            break;
        case 'R':
            break;
        case 'W':
            break;
        case 'L':
            break;
        case 'S':
            break;
        case 'E':
            System.exit(1);
        default:
            System.out.println("Options: (C)reate, (R)ead, (W)rite, (L)ist, (S)ave or (E)xit.        (*****)");
        } 
} while(choice!='E');

【问题讨论】:

  • 您应该使用单个Scanner 而不是每次迭代都创建一个。

标签: java loops while-loop switch-statement


【解决方案1】:

试试

do{

}
while(Character.toUpperCase(choice) !='E')

【讨论】:

  • 刚试了..不行..还是马上退出程序
  • @John 如果您使用此解决方案,您需要从 E 案例中删除 System.exit(1);
猜你喜欢
  • 2021-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-14
  • 2022-01-03
相关资源
最近更新 更多