2 sylvia1997 sylvia1997 于 2015.06.26 22:13 提问

实在搞不通哪错了。。望指教(在线等)(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个回答

sylvia1997
sylvia1997   2015.06.26 22:43

它直接报错,运行不了。
但我改成Integer.parseInt();或者是Float.parseFloat();都可以

u012303379
u012303379   2015.06.27 09:15

我输进去没问题呀,是不是你再打一遍

bhdgx
bhdgx   2015.06.27 09:44

报了什么错,能不能把异常信息帖出来

bhdgx
bhdgx 回复sylvia1997:
2 年多之前 回复
sylvia1997
sylvia1997 The method parseDouble(String) is undefined for the type Double
2 年多之前 回复
tongyi55555
tongyi55555   2015.06.27 09:53

分析一下吧,parseDouble是可能抛出异常的,什么异常呢:

NumberFormatException - if the string does not contain a parsable double.

就是说你输入的不是一个Double类型的字符串时会抛出异常,如果你输入的是一个正确的数字,比如58.9,绝对是没有问题的。

你可以把你的错误贴出来看看,有了具体的错误信息才好知道什么问题。

另外你的转化公式有些问题,不要写5/9,这样结果是0.0,改成5.0/9就行了。

tongyi55555
tongyi55555 回复sylvia1997: Double.parseDouble("43.3");绝对是没有问题的,你这种错误的最大可能就是把名字写错了,自己检查下吧。
2 年多之前 回复
sylvia1997
sylvia1997 The method parseDouble(String) is undefined for the type Double
2 年多之前 回复
bhdgx
bhdgx   2015.06.29 23:11

那你的JDK的版本是什么?在什么平台上运行?在编译的时候没报错?

Csdn user default icon
上传中...
上传图片
插入图片