4 回答
TA贡献1877条经验 获得超1个赞
使用do-while至少执行一次的循环,如果days不满足条件则每次都循环回来。
public static void main(String[] args)
{
do {
//Your other code
String animal = JOptionPane.showInputDialog("Enter In Animal Name"); // Asking for user to enter a animal
String fruit = JOptionPane.showInputDialog("Enter In A Fruit Name"); // Asking user to enter a fruit
int days = askForInput();
if (days <= 0 || days >= 10) { // Ensures that negative numbers cannot be entered.
JOptionPane.showMessageDialog(null, "Error, Please enter a number between 1 and 10");
}
} while (days <= 0 || days >= 10);
}
//Pass whatever parameters you might need
public static int askForInput() {
int days = Integer.parseInt(JOptionPane.showInputDialog("Enter In How Many Days Between 1 And 10"));
//Any other code you want
return days;
}
我还将它提取到一个方法中,这可能是不必要的,但如果需要,它可以让您添加更多功能。
如果您不想每次都被问到这个问题,您也可以移动animal或fruit离开。do
TA贡献1779条经验 获得超6个赞
允许代码重新启动代码块(即返回到开头并重试)的一种方法是使用带有“永远”循环的continueand语句。break
for (;;) { // loop forever
// some code here
if (failure condition 1) {
// handle failure here
continue; // go back and try again
}
if (failure condition 2) {
// handle failure here
continue; // go back and try again
}
// more code and failure condition checks here
break; // unconditional exit loop, since all is ok
}
如果“此处的某些代码”本身位于循环内,但需要返回到开头并重试,则可以为此使用标签:
TRYAGAIN: for (;;) { // loop forever
// some code here
for (some looping here) {
// some code here
try {
if (failure condition) {
// handle failure here
continue TRYAGAIN; // go back and try again
}
} finally {
// code here will execute, even if 'continue' is used
}
}
// more code and failure condition checks here
break; // unconditional exit loop, since all is ok
}
TA贡献1829条经验 获得超7个赞
String animal;
String fruit;
int days = 0;
animal = JOptionPane.showInputDialog("Enter In Animal Name");
fruit = JOptionPane.showInputDialog("Enter In A Fruit Name");
while(days <= 0 || days > 10) {
days = Integer.parseInt(JOptionPane.showInputDialog("Enter In How Many Days Between 1 And 10"));
if (days <= 0 || days > 10) {
JOptionPane.showMessageDialog(null, "Error, Please enter a number between 1 and 10");
}
}
TA贡献1982条经验 获得超2个赞
使用 while 循环
// Your user prompt for animal and fruit goes here
boolean exit = false;
while(!exit)
{
// Your user prompt for days code goes here
if (days <= 0 || days > 10) {
JOptionPane.showMessageDialog(null, "Error, Please enter a number between 1 and 10");
exit = false; // This is not necessary but nice for readability's sake
}
else {
exit = true;
}
}
添加回答
举报