我在学习这门语言的时候正在用Java做一个小项目。
基本上我想要的是用户通过JOptionPane.showInputDialog();
输入一个字符串,如果该字符串为空,我希望它让他们重新输入一个有效的字符串,然后程序将继续。< / p>
我所做的考虑是使用goto
,但我读了它,并说这不是好习惯。
非常感谢任何帮助。 谢谢:))
答案 0 :(得分:3)
我会在无限循环中请求输入(使用OptionPane.showInputDialog()
)。
这里有一些伪代码:
message = ""
while message.equals(""):
message = ask_for_input() // (.trim() if needed)
end
答案 1 :(得分:2)
你可以循环完成。所以你需要一个while循环,其条件是输入为空。然后会弹出消息,直到用户输入内容。
答案 2 :(得分:2)
尽管goto
是Java中的保留关键字,但它实际上(隐含地)意味着使用而不是。
JOptionPane.showInputDialog(...)
返回String
。
我建议使用无限while
循环并通过String.isEmpty()
将其与空白进行比较。
例如:
String input = null;
while (true) {
input = JOptionPane.showInputDialog("Your input (not empty):");
if (!input.trim().isEmpty()) {
// TODO something with the input variable
break;
}
}
答案 3 :(得分:1)
这是do ... while
循环的用途。您还可以使用Apache commons StringUtils
类。
String input;
do {
input = JOptionPane.showInputDialog("Please enter your string");
} while (StringUtils.isBlank(input));