Я создаю программу на Java, используя eclipse. Программа задает ряд вопросов от пользователя и до тех пор, пока они не ответят правильно, она будет запрашивать их снова и снова, и после получения правильного ответа она сохранит ее в переменной для последующего использования. ниже мой код;Можно ли задавать серию вопросов без генерации большого количества кода?
int waitseconds;
int favouritenumber;
int hoursofsleep;
do {
String waitsecondsR = JOptionPane.showInputDialog("How many seconds would you like to wait for out of 1 - 7?");
waitseconds = Integer.parseInt(waitsecondsR);
}
while (waitseconds < 1 || waitseconds > 10);
do {
String favouritenumberR = JOptionPane.showInputDialog("What is your favourite number out of 1 and 2?");
favouritenumber = Integer.parseInt(favouritenumberR);
}
while (favouritenumber < 1 || favouritenumber > 2);
do {
String hoursofsleepR = JOptionPane.showInputDialog("How many hours do you sleep for? between 1-8?");
hoursofsleep = Integer.parseInt(hoursofsleepR);
}
while (hoursofsleep < 1 || hoursofsleep > 8);
Это первые три утверждения/вопросы, которые у меня есть, которые пользователь должен ответить, и я, вероятно, в конечном итоге, как 10-12 из этих утверждений в одном классе, можно сделать это любой короче? а также у меня еще 2 вопроса.
Возможно ли удержать пользователя от ответов на письма, и если да, то они предоставят им ошибки? например если там положить один вместо 1 или O, то программа должна попросить их снова ввести.
с кодом, который у меня есть, когда вы запустите его
Input Dialog
, и там пользователь должен ввести ответ, но если пользователь нажимает кнопку «Отменить» или «Перекреститься» вверху, тогда java отображает сообщения об ошибках в консоли, как я могу остановить это? как это;
Исключение в потоке "АВТ-EventQueue-0" java.lang.NumberFormatException: нуль в java.lang.Integer.parseInt (Unknown Source) в java.lang.Integer.parseInt (Неизвестный источник) на ExpressTrain.ExpressTrain (ExpressTrain.java:46) на GUIDesign.Express (GUIDesign.java:149) в GUIDesign $ 1.actionPerformed (GUIDesign.java:80) в javax.swing.AbstractButton.fireActionPerformed (Неизвестный источник) at javax.swing.AbstractButton $ Handler.actionPerformed (Неизвестный источник) в javax.swing.DefaultButtonModel.fireActionPerformed (Unknown Source) в javax.swing.DefaultButtonModel.setPressed (Unknown Source) в javax.swing.plaf.basic.BasicButtonListener.mouseReleased (Неизвестный источник) в java.awt. AWTEventMulticaster.mouseReleased (Unknown Source)
и больше ....