我不知道do-while循环有什么问题

时间:2015-12-03 09:01:52

标签: java loops do-while

我想制作程序,以便当用户按下1-10之间的ISN&#T时,它再次循环;它再次运行。注意:案例介于字符串编号和默认

之间
do {
    String responded;
    responded = JOptionPane.showInputDialog("Do you understand do while loops?");
    String number = JOptionPane.showInputDialog("Choose a number between 0 & 9 to generate \nthe corresponding word to that number or \npress 10 to exit the program");

                default:
    JOptionPane.showMessageDialog(null, "Please make sure the number inserted is between 0 & 10.", "Error", JOptionPane.ERROR_MESSAGE);
}
    } while (responded.equalsIgnoreCase("No"));

3 个答案:

答案 0 :(得分:0)

您的括号出现问题:

}
    } while (responded.equalsIgnoreCase("No"));

你需要:

    } while (responded.equalsIgnoreCase("No"));
}

另外,为什么你有这个default:

答案 1 :(得分:0)

尝试以下代码:

public static void main(String[] args) {

    String responded;
       do{
         responded = JOptionPane.showInputDialog("Do you understand do while loops?");
         boolean legitimate = false;
         do {
             String number = JOptionPane.showInputDialog("Choose a number between 0 & 9 to generate \nthe corresponding word to that number or \npress 10 to exit the program");
             switch(number) {
             case "0" :
             case "1" :
             case "2" :
             case "3" :
             case "4" :
             case "5" :
             case "6" :
             case "7" :
             case "8" :
             case "9" : legitimate = true;
                        break;
             default:
                 JOptionPane.showMessageDialog(null, "Please make sure the number inserted is between 0 & 10.", "Error", JOptionPane.ERROR_MESSAGE);
                 break;
             }
     } while(!legitimate);
} while (responded.equalsIgnoreCase("No"));

}

答案 2 :(得分:0)

虽然我完全理解您的要求,但基于我对您的要求的理解,请找到以下代码:

    String responded;
     do{
         responded = JOptionPane.showInputDialog("Do you understand do while loops?");
         boolean legitimate = true;
         do {
             String number = JOptionPane.showInputDialog("Choose a number between 0 & 9 to generate \nthe corresponding word to that number or \npress 10 to exit the program");
             switch(number) {
             case "0" :
             case "1" :
             case "2" :
             case "3" :
             case "4" :
             case "5" :
             case "6" :
             case "7" :
             case "8" :
             case "9" : 
                 break;
             default:
                 legitimate = false;
                 JOptionPane.showMessageDialog(null, "Please make sure the number inserted is between 0 & 10.", "Error", JOptionPane.ERROR_MESSAGE);
                 break;
             }
         } while(legitimate);
     } while (responded.equalsIgnoreCase("No"));