1. 程式人生 > >java計算器程式出錯,求大神指教!

java計算器程式出錯,求大神指教!

為什麼這段計算器程式碼計算的結果輸出會出錯?
try語句塊有捕捉到異常嗎?需要怎麼修改會輸出正確結果?
求大神指教!!!
“=”號後面未正常顯示結果
package GUI;
import java.awt.;
import javax.swing.
;
import java.awt.event.*;
public class Calculator
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
new FrameBuild();
}
}
//FrameBuild.java

class FrameBuild extends JFrame
{
JTextField textInputNumber1,textInputNumber2,textOutputNumber;
JComboBoxchoice;
JButton Calculator;
ListenerDemo listener;
public FrameBuild()
{
init();
setTitle(“一個簡單的計算器”);
setBounds(0,0,400,200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void init()
{
FlowLayout flow=new FlowLayout();
setLayout(flow);
textInputNumber1=new JTextField(5);
textInputNumber2=new JTextField(5);
choice=new JComboBox();
Calculator=new JButton("=");
textOutputNumber=new JTextField(5);
choice.addItem(“選擇運算子”);
String [] fuhao= {"+","-","","/"};
for(int i=0;i<fuhao.length;i++)
{
choice.addItem(fuhao[i]);
}
ListenerDemo demo1=new ListenerDemo();
ListenerDemo1 demo2=new ListenerDemo1();
demo2.setJComboBox(choice);
demo2.setDemo(demo1);
demo1.setJTextFieldone(textInputNumber1);
demo1.setJTextFieldtwo(textInputNumber2);
demo1.setJTextFieldthree(textOutputNumber);
choice.addItemListener(demo2);
Calculator.addActionListener(demo1);
add(textInputNumber1);
add(choice);
add(textInputNumber2);
add(Calculator);
add(textOutputNumber);
}
}
/

//LisrenerDemo.java
import java.awt.event.;
import javax.swing.
;/
class ListenerDemo implements ActionListener
{
JTextField input1,input2,display;
String yunsuanfu;
public void setJTextFieldone(JTextField text)
{
this.input1=text;
}
public void setJTextFieldtwo(JTextField text)
{
this.input2=text;
}
public void setJTextFieldthree(JTextField text)
{
this.display=text;
}
public void actionPerformed(ActionEvent e)
{
try
{
double num1=Double.parseDouble(input1.getText());
double num2=Double.parseDouble(input2.getText());
double r=0;
if(yunsuanfu.endsWith("+"))
{
r=num1+num2;
}
else if(yunsuanfu.endsWith("-"))
{
r=num1-num2;
}
else if(yunsuanfu.endsWith("
"))
{
r=num1num2;
}
else if(yunsuanfu.endsWith("/"))
{
r=num1/num2;
}
display.setText(""+r);
}
catch(Exception exp)
{
display.setText(“請輸入整數”);
}
}
}
/
//ListenerDemo1.java
import java.awt.event.;
import javax.swing.
;*/
class ListenerDemo1 implements ItemListener
{
JComboBox choice;
ListenerDemo demo;
public void setJComboBox(JComboBox box)
{
this.choice=box;
}
public void setDemo(ListenerDemo demo)
{
this.demo=demo;
}
@Override
public void itemStateChanged(ItemEvent arg0) {
// TODO Auto-generated method stub

}

}