0

如果我想允许在 JOptionPane 中输入整数,我需要

String something= JOptionPane.showInputDialog(null, " ");
int x = Integer.parseInt(something);

但是,这次我想在JOptionPaneInputDialog 中输入字符串。有没有类似int x = Integer.parseInt();但适用于字符串的方法?

而且,我如何制作一个高级功能,使程序能够检测到错误,例如无效输入?例如。当用户输入空格并输入而不是值或单词时,或者他们的答案超出范围。所以基本上他们的答案是空格或-99,而答案应该在 1 到 100 之间。

如果这听起来很愚蠢,我很抱歉,我对编程很陌生。

4

2 回答 2

1
 public static void main(String[] args) {
        String message = JOptionPane.showInputDialog(null, "Enter a message:");
        boolean validMessage = false;
        do {
            if (isMessageEmpty(message)) {
                message = JOptionPane.showInputDialog(null, "No message entered! Enter a message:");
            } else {
                if (Integer.parseInt(message) > 100 || Integer.parseInt(message) < 0) {
                    message = JOptionPane.showInputDialog(null, "Message not acceptable, please enter a valid message::");
                } else {
                    validMessage = true;
                }
            }
        } while (!validMessage);
    }

    private static boolean isMessageEmpty(String message) {
        return message.trim().isEmpty();
    }
于 2016-05-18T12:45:38.893 回答
0

有没有类似于 Int x = Integer.parseInt(); 的方法 但适用于字符串?

要回答您的第一个问题,有一种方法。就像@John Verner 所说,只需使用您从中获得的字符串JOptionPane!不需要对它做任何特别的事情。

而且,我如何制作一个高级功能,使程序能够检测到错误,例如无效输入?

尝试Integer.parseInt();在你得到的字符串上使用。如果它抛出异常或返回的 int 不在指定范围内,则告诉用户再次输入。

有关捕获异常的更多信息,请单击此处。

于 2016-05-18T12:34:05.000 回答