JOptionPane输入到int

kxk*_*kxk 8 java int swing user-input joptionpane

我试图让一个JOptionPane得到一个输入并将其分配给一个int,但我遇到了一些变量类型的问题.

我正在尝试这样的事情:

Int ans = (Integer) JOptionPane.showInputDialog(frame,
            "Text",
            JOptionPane.INFORMATION_MESSAGE,
            null,
            null,
            "[sample text to help input]");
Run Code Online (Sandbox Code Playgroud)

但我得到:

Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot
be cast to java.lang.Integer
Run Code Online (Sandbox Code Playgroud)

这听起来很合乎逻辑,我想不出另一种方法来实现这一点.

提前致谢

jjn*_*guy 8

只需使用:

int ans = Integer.parseInt( JOptionPane.showInputDialog(frame,
        "Text",
        JOptionPane.INFORMATION_MESSAGE,
        null,
        null,
        "[sample text to help input]"));
Run Code Online (Sandbox Code Playgroud)

你不能把一个转换成String一个int,但你可以使用它转换它Integer.parseInt(string).


Jac*_*ack 5

这是因为用户插入的输入JOptionPane是a String并且它被存储并作为a返回String.

Java无法在字符串和数字之间进行转换,您必须使用特定的函数,只需使用:

int ans = Integer.parseInt(JOptionPane.showInputDialog(...))
Run Code Online (Sandbox Code Playgroud)