使用if语句指向程序中的特定行?JAVA
我有一个程序,要求用户输入一个介于1和6之间的值。但是,如果他们不在该范围内进行询问,我希望程序要求用户再次输入。我在这个方法中还有其他代码,所以我不能直接指向这个方法使用if语句指向程序中的特定行?JAVA,java,loops,if-statement,while-loop,Java,Loops,If Statement,While Loop,我有一个程序,要求用户输入一个介于1和6之间的值。但是,如果他们不在该范围内进行询问,我希望程序要求用户再次输入。我在这个方法中还有其他代码,所以我不能直接指向这个方法 System.out.print("Now enter a number between 1 and 6 "); dieNumber = keyboard.nextInt(); if (dieNumber == 1){ drawOne(pane); }
System.out.print("Now enter a number between 1 and 6 ");
dieNumber = keyboard.nextInt();
if (dieNumber == 1){
drawOne(pane); }
else if (dieNumber == 2){
drawTwo(pane); }
else if (dieNumber == 3){
drawThree(pane);}
else if (dieNumber == 4){
drawFour(pane); }
else if (dieNumber == 5){
drawFive(pane); }
else if (dieNumber == 6){
drawSix(pane); }
只需在用户每次输入大于6的数字时进行while循环再次询问
System.out.print(“现在输入一个介于1和6之间的数字”);
dieNumber=键盘.nextInt();
而(编号>6){
System.out.print(“现在输入一个介于1和6之间的数字”);
dieNumber=键盘.nextInt();
}
如果(dieNumber==1){
drawOne(窗格);}
否则,如果(dieNumber==2){
绘图二(窗格);}
否则如果(dieNumber==3){
绘图三(窗格);}
否则,如果(dieNumber==4){
绘图四(窗格);}
否则,如果(dieNumber==5){
图纸五(窗格);}
否则,如果(dieNumber==6){
drawSix(窗格);}
我只是在和中断时添加了一个
如果选择所需的数字,则中断
将中断while循环,除此之外,它将要求用户输入另一个数字
while(true){
System.out.print("Now enter a number between 1 and 6 ");
dieNumber = keyboard.nextInt();
if (dieNumber == 1){
drawOne(pane); break;}
else if (dieNumber == 2){
drawTwo(pane); break;}
else if (dieNumber == 3){
drawThree(pane);break;}
else if (dieNumber == 4){
drawFour(pane); break;}
else if (dieNumber == 5){
drawFive(pane); break;}
else if (dieNumber == 6){
drawSix(pane); break;}
}
另一种解决方案,不需要添加中断代码>或任何其他重复代码到每个路径:
boolean needToTryAgain;
do {
needToTryAgain = false;
System.out.print("Now enter a number between 1 and 6 ");
dieNumber = keyboard.nextInt();
if (dieNumber == 1){
drawOne(pane); }
else if (dieNumber == 2){
drawTwo(pane); }
else if (dieNumber == 3){
drawThree(pane);}
else if (dieNumber == 4){
drawFour(pane); }
else if (dieNumber == 5){
drawFive(pane); }
else if (dieNumber == 6){
drawSix(pane); }
else {
// this would be a good place to print an error message
needToTryAgain = true;
}
} while (needToTryAgain);
您是否尝试使用while
循环来封闭代码段?对我来说,它似乎应该起作用。@Keppil是的,但在一天结束时,我仍然需要一些东西,上面写着,如果它不在这个范围内,请再次运行它。这就是while
循环for@AntonH是的,我想错了。谢谢