我不知道代码有什么问题。你们能帮我吗?解析JTextField为整数
int a = Integer.parseInt(aTextField.getText());
int b = Integer.parseInt(bTextField.getText());
int c = Integer.parseInt(cTextField.getText());
int discriminant = (int)Math.pow((double)b, 2) - 4*a*c;
int x1 = (int)(-b + (double)Math.sqrt(discriminant)/2*a);
int x2 = (int)(-b - (double)Math.sqrt(discriminant)/2*a);
public DiscriminantSoft(){
super("Quadratic Equation");
setLayout(new FlowLayout());
headerLabel = new JLabel("ax^2 + bx + c = 0");
headerLabel.setToolTipText("You have to write a, b and c in order to calculate discriminant.");
add(headerLabel);
aTextField = new JTextField(3);
add(aTextField);
bTextField = new JTextField(3);
add(bTextField);
cTextField = new JTextField(3);
add(cTextField);
thehandler handler = new thehandler();
aTextField.addActionListener(handler);
bTextField.addActionListener(handler);
cTextField.addActionListener(handler);
}
private class thehandler implements ActionListener{
public void actionPerformed(ActionEvent event){
String string = "";
if(discriminant == 0){
string=String.format("Discriminant: " +discriminant +" x: " +x1, event.getActionCommand());
}
else if(discriminant > 0){
string=String.format("Discriminant: " +discriminant +" x: " +x1 +" x2: " +x2, event.getActionCommand());
}
else if(discriminant < 0){
string=String.format("Discriminant is under zero! No x found", event.getActionCommand());
}
JOptionPane.showMessageDialog(null, string);
}
}
在线程异常 “主” 显示java.lang.NullPointerException 在DiscriminantSoft。(DiscriminantSoft.java:17) 在tuna.main(tuna.java:5)
INT a = Integer.parseInt(aTextField.getText());是17排
这听起来很蠢,但你初始化aTextfield? – PakkuDon
你能显示完整的代码吗? – 2013-12-08 12:02:47
私人JTextField aTextField;我试过这个: String aValue = aTextField.getText(); int a = Integer.parseInt(aValue); – Messing