gpt4 book ai didi

java - Java 中 false boolean 值后重新启动 While 循环

转载 作者:行者123 更新时间:2023-12-01 22:36:14 25 4
gpt4 key购买 nike

我正在为学校做一项作业,要求我们找到十个数字中最大的一个。数字在 0-9 之间。我相信我已经记下了那部分。我的问题是我正在尝试添加作业不需要的额外功能。我试图在 boolean 语句为 false 并给出错误消息后让循环完全重新启动。在我输入无效值后,它会给出错误消息,但在我按“确定”后,它会继续到下一个数字。我希望它从循环的开头开始。

代码如下:

package Largest;

import java.util.Scanner;
import javax.swing.JOptionPane;

public class LargestMain {

public static void main(String[] args) {

int number = 0;
String numStr = "";
int []myArray = new int[10];
int count = 1;
int largest = 0;
boolean valid = false;

while(valid == true); { // Loop to check validity

for(int i = 0; i < myArray.length; i++) {

myArray[i] = i + 1;
numStr = JOptionPane.showInputDialog("Please enter number " + count++ + ":");
number = Integer.parseInt(numStr); // Converts string value to integer

if(number >= largest) {
largest = number;
}

// If-Else if statements checks if values entered are equal to 0-9
if(number >= 0 && number <= 9) {
valid = true;
}

else if ((!(number >= 0 && number <= 9))) {
valid = false;
}

if (valid == false) {
JOptionPane.showMessageDialog(null, "INVALID INPUT...Try Again!!!", "Results", JOptionPane.YES_OPTION);
continue;
}
}

JOptionPane.showMessageDialog(null, "The Largest Number Is: " + largest, "Results", JOptionPane.PLAIN_MESSAGE);
}
}
}

我可以通过添加 return 来结束循环:

if (valid == false) {
JOptionPane.showMessageDialog(null, "INVALID INPUT...Try Again!!!", "Results", JOptionPane.YES_OPTION);
return;
}

我真的很想学习如何从头开始重新启动循环。我尝试搜索不同的主题,但没有一个可以帮助我解决我的问题。感谢您提前的帮助!

最佳答案

要重新启动循环,您可以使用 continue 关键字。 继续将跳到下一个循环迭代。

当使用 while 循环时,它只会重新启动循环,因为直到 valid 为 true 时循环才会结束。使用 for 循环时,它将跳到下一次迭代(因此,如果您当前位于索引 5 并使用 continue,它将移至索引 6,而不是停留在 5)。

对于嵌套循环,您可以标记循环以指定该语句适用于哪个循环:

firstloop:
while(valid) {

secondloop:
while(true) {
continue firstloop;
}
}

此外,在检查 boolean 值时不需要== true。可以表示为

while(valid) {

}

至于检查 false,valid == false,您可以使用

while(!valid) {

}

关于java - Java 中 false boolean 值后重新启动 While 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26833123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com