我尝试让JOptionPane获取一个input并将其赋给一个int,但是我在变量类型方面遇到了一些问题。
我在尝试这样的方法:
Int ans = (Integer) JOptionPane.showInputDialog(frame,
"Text",
JOptionPane.INFORMATION_MESSAGE,
null,
null,
"[sample text to help input]");
但我得到了:
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot
be cast to java.lang.Integer
这听起来很合乎逻辑,但我想不出另一种方法来实现这一点。
6条答案
按热度按时间irtuqstp1#
只需用途:
不能将
String
强制转换为int
,但可以使用Integer.parseInt(string)
进行转换。8fsztsew2#
这是因为用户插入到
JOptionPane
中的输入是String
,并且它作为String
存储和返回。Java不能自己在字符串和数字之间转换,你必须使用特定的函数,只要用途:
htrmnn0y3#
j2datikz4#
请注意,如果传递的字符串不包含可解析的字符串,Integer.parseInt将抛出NumberFormatException。
u4dcyp6a5#
bmvo0sr56#
现在,您的
Int_firstnumber
包含String_fristNumber
的整数值。希望能有所帮助