0

在学习 Java 的同时,我正在用 Java 做一个小项目。

基本上我希望用户通过 输入字符串JOptionPane.showInputDialog();,如果该字符串为空,我希望它让他们重新输入有效字符串,然后程序将继续。

我确实考虑过使用goto,但我阅读了它,它说这不是一个好习惯。

任何帮助将不胜感激。谢谢 :)

4

4 回答 4

3

我会在一个无限循环中要求输入(使用OptionPane.showInputDialog())。这里有一些伪代码:

message = ""
while message.equals(""):
    message = ask_for_input() // (.trim() if needed)
end
于 2013-11-02T23:24:00.760 回答
2

您可以循环执行此操作。所以你需要一个while循环,条件是输入为空。然后将弹出消息,直到用户输入内容。

于 2013-11-02T23:24:16.557 回答
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;
    }

}
于 2013-11-02T23:26:07.117 回答
1

这就是do ... while循环的用途。您还可以使用 Apache commonsStringUtils类。

String input;
do {
    input = JOptionPane.showInputDialog("Please enter your string");
} while (StringUtils.isBlank(input));
于 2013-11-03T02:43:34.303 回答