菜鸟求助!做了个简易计算器,但是运行结果异常!实在想不通什么问题造成的!

wainiyitao2010 2017-08-20 06:13:58
如图,已经做好的程序,Ecilpse里也没有报错!但是点了按钮“+”就出现问题了!


异常问题:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at sun.misc.FloatingDecimal.parseDouble(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
at com.Frame.MyFrame9.actionPerformed(Example9Test.java:65)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)


这里显示了是65行的问题,我看了我的65行是这样的:z = Double.parseDouble(s3);
完整的显示是这样:
public void actionPerformed(ActionEvent e) {
String s1, s2, s3;
s1 = fieldName1.getText();
s2 = fieldName2.getText();
s3 = fieldResult.getText();
double x, y, z;
x = Double.parseDouble(s1);// 调用Double工具类的方法
y = Double.parseDouble(s2);
z = Double.parseDouble(s3); //出错的这一句???

if (e.getSource() == sum) {
z = x + y;
s3 = String.valueOf(z); // 转回String字符串
fieldResult.setText(s3);// 在结果里显示转的字符串
}

我觉得Z值没有什么问题,把获取到的结果存到Z,然后在JTextField文本框里用字符串显示出来,这逻辑没有啥问题,就是想不通为什么会报异常!求大神拯救!
...全文
152 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wainiyitao2010 2017-08-20
  • 打赏
  • 举报
回复
引用 3 楼 pany1209 的回复:
[quote=引用 2 楼 wainiyitao2010 的回复:] [quote=引用 1 楼 pany1209 的回复:] java.lang.NumberFormatException: empty String报错很明显了。。。 z = Double.parseDouble(s3); //出错的这一句???s3是空字符串“”
但是我到了后面用了String.valueOf将数字转成字符串,然后赋值到s3里了阿,s3就应该不是空字符串了吧?[/quote] z = Double.parseDouble(s3); //出错的这一句???这一句删掉。。。[/quote] 嗯嗯!对!我也刚刚明白这么回事!谢谢啦~
wainiyitao2010 2017-08-20
  • 打赏
  • 举报
回复
引用 1 楼 pany1209 的回复:
java.lang.NumberFormatException: empty String报错很明显了。。。 z = Double.parseDouble(s3); //出错的这一句???s3是空字符串“”
好吧!原来是这样子!s3是不用再赋值给z,此刻是空字符串呀!然后刚刚我把这句话注释掉就没有问题了!
李德胜1995 2017-08-20
  • 打赏
  • 举报
回复
引用 2 楼 wainiyitao2010 的回复:
[quote=引用 1 楼 pany1209 的回复:] java.lang.NumberFormatException: empty String报错很明显了。。。 z = Double.parseDouble(s3); //出错的这一句???s3是空字符串“”
但是我到了后面用了String.valueOf将数字转成字符串,然后赋值到s3里了阿,s3就应该不是空字符串了吧?[/quote] z = Double.parseDouble(s3); //出错的这一句???这一句删掉。。。
wainiyitao2010 2017-08-20
  • 打赏
  • 举报
回复
引用 1 楼 pany1209 的回复:
java.lang.NumberFormatException: empty String报错很明显了。。。 z = Double.parseDouble(s3); //出错的这一句???s3是空字符串“”
但是我到了后面用了String.valueOf将数字转成字符串,然后赋值到s3里了阿,s3就应该不是空字符串了吧?
李德胜1995 2017-08-20
  • 打赏
  • 举报
回复
java.lang.NumberFormatException: empty String报错很明显了。。。 z = Double.parseDouble(s3); //出错的这一句???s3是空字符串“”

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧