【发布时间】:2014-03-17 06:06:12
【问题描述】:
我知道标题可能没有那么有用。我深感抱歉。我的问题是我正在尝试创建一个简单的 MPG 应用程序来帮助我习惯 GUI。我有一加仑和一英里的 JTextField。我还有一个可编辑的 JTextField 来显示 MPG。我正在尝试将用户输入转换为整数,然后将加仑和英里输入相除以获得每加仑英里数的结果,这将显示出来。
我的 parseInt 如下所示:
int mil = Integer.parseInt(miles1.getText());
int gal = Integer.parseInt(gallons1.getText());
然后是 MPG:
int mpg = gal / mil;
它在代码中没有显示错误,但是一旦我去运行应用程序,我就会得到这些错误:
java.lang.NullPointerException
at app.<init>(app.java:40)
at app$1.run(app.java:26)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(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$1.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)
有人知道这是什么原因吗?
【问题讨论】:
-
miles1或gallons1是null(或两者兼有)。 -
您可能应该在 app.java 的第 40 行或附近显示代码,因为那是您的 NullPointerException 发生的地方。
-
@Samhain 第 40 行是`int mil = Integer.parseInt(miles1.getText());`
-
@user3320501 然后miles1 为空。你还没有初始化它。
-
@Samhain 你是如何初始化它的?我希望它获取两个 JTextfield 的用户输入,然后在单击按钮后将它们显示在不可编辑的 JTextfield 中。
标签: java nullpointerexception jtextfield gettext parseint