问题描述
- 实在搞不通哪错了。。望指教(在线等)(JAVA小问题)
-
/**编写程序,从输入对话框读入double型的华氏度,将其转换为摄氏度,并在消息对话框中显示结果。公式如下- 摄氏度=(5/9)*(华氏度-32)
*/
package current;
import javax.swing.JOptionPane;
public class ChangeTemperation {
public static void main(String[] args) {
double temperation;
temperation = Double.parseDouble(JOptionPane.showInputDialog("请输入华氏温度"));}
}
parseDouble总是报错。。
它直接报错,运行不了。
但我改成Integer.parseInt();或者是Float.parseFloat();都可以
The method parseDouble(String) is undefined for the type Double - 摄氏度=(5/9)*(华氏度-32)
解决方案
它直接报错,运行不了。
但我改成Integer.parseInt();或者是Float.parseFloat();都可以
解决方案二:
我输进去没问题呀,是不是你再打一遍
解决方案三:
报了什么错,能不能把异常信息帖出来
解决方案四:
分析一下吧,parseDouble是可能抛出异常的,什么异常呢:
NumberFormatException - if the string does not contain a parsable double.
就是说你输入的不是一个Double类型的字符串时会抛出异常,如果你输入的是一个正确的数字,比如58.9,绝对是没有问题的。
你可以把你的错误贴出来看看,有了具体的错误信息才好知道什么问题。
另外你的转化公式有些问题,不要写5/9,这样结果是0.0,改成5.0/9就行了。
解决方案五:
那你的JDK的版本是什么?在什么平台上运行?在编译的时候没报错?
时间: 2024-11-10 00:17:53