【发布时间】:2014-02-19 18:49:22
【问题描述】:
我正在创建一个简单的 MPG 应用程序。我添加后它开始显示错误:
String strGallons = gallons1.getText();
int gal = Integer.parseInt(strGallons);
String strMiles = miles1.getText();
int mil = Integer.parseInt(strMiles);
int mpg = mil / gal;
String mpgstring = "" + mpg;
我有这个来获取输入,转换为字符串,然后转换为整数,以便我可以在 MPG 公式中使用它。它显示代码中没有错误,但是一旦我尝试运行它,它就会显示:
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at app.<init>(app.java:83)
at app$1.run(app.java:30)
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)
我不知道为什么,但它已经这样做了将近 2 天。我的完整代码是:
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JLabel;
public class app extends JFrame {
private String StrMiles;
private String StrGallons;
private int mil;
private int gal;
private int mpg;
private JPanel contentPane;
private JTextField gallons1;
private JTextField miles1;
private JTextField mpgbox;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
app frame = new app();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public app() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
gallons1 = new JTextField();
gallons1.setBounds(10, 39, 86, 20);
contentPane.add(gallons1);
gallons1.setColumns(10);
miles1 = new JTextField();
miles1.setBounds(10, 83, 86, 20);
contentPane.add(miles1);
miles1.setColumns(10);
JButton calculate = new JButton("CALCULATE");
calculate.setBounds(204, 80, 110, 23);
contentPane.add(calculate);
JLabel gallons = new JLabel("Gallons");
gallons.setBounds(10, 25, 46, 14);
contentPane.add(gallons);
JLabel miles = new JLabel("Miles");
miles.setBounds(10, 70, 46, 14);
contentPane.add(miles);
JLabel mpgtitle = new JLabel("MPG:");
mpgtitle.setEnabled(false);
mpgtitle.setBounds(189, 204, 46, 14);
contentPane.add(mpgtitle);
String strGallons = gallons1.getText();
int gal = Integer.parseInt(strGallons);
String strMiles = miles1.getText();
int mil = Integer.parseInt(strMiles);
int mpg = mil / gal;
String mpgstring = "" + mpg;
mpgbox = new JTextField();
mpgbox.setText(mpgstring);
mpgbox.setEnabled(false);
mpgbox.setEditable(false);
mpgbox.setBounds(228, 201, 86, 20);
contentPane.add(mpgbox);
mpgbox.setColumns(10);
}
}
【问题讨论】:
标签: java swing parseint numberformatexception