Я хотел бы поделиться своим кодом. Но в моем университете код тестируется на «обман».Булевая петля в сочетании с JOptionPane Java
Но вот мой код в более простой форме.
public static String readin() {
boolean error = false;
do {
string stringin;
stringin = JOptionPane.showInputDialog(null, "Please enter a number");
switch (stringin.length()) {
case 0:
JOptionPane.showMessageDialog(null, "Error Please repeat");
error = true;
case 1:
return stringin;
}
return null;
} while (error == true);
}
Этот код действительно в самой простой форме. Я знаю, что для этого случая было бы разумнее установить время, пока JOptionPane пуст или что-то еще. Так как в моем коде есть 12 различных ошибок. Я хочу использовать boolean. Пожалуйста: нулевой символ возврата никогда не встретится в реальном коде.
Но реальная проблема у меня есть: она отлично работает, кроме того: если он повторяет цикл, он не дает мне возможность набрать новую строку. Как я могу это сделать?
Также я прошу прощения за свои ошибки на английском языке.
EDIT: Все ваши исправления устраняют мои проблемы! Большое спасибо! Мне нравится этот форум!
У вас нет оператора break в вашем случае 0: блок, поэтому поток падает, хотя к случаю 1: блокируется и возвращается из вашей подпрограммы, поэтому цикл невозможен. –
также перемещает ваш возврат в нуль после (error == true), и он будет работать. –