當前位置:首頁(yè) > 包裝 > 正文內容

一個(gè)計算器程序 希望大蝦幫小弟挑下錯 編譯沒(méi)錯 運行沒(méi)異常

關(guān)曉霜4年前 (2020-11-24)包裝92
印刷廠(chǎng)直印●彩頁(yè)1000張只需要69元●名片5元每盒-更多報價(jià)?聯(lián)系電話(huà):138-1621-1622(微信同號)

  運行時(shí) ArrayList里的數字都打印出來(lái)了 還有size()屬性 可是就是計算不出結果來(lái)

  import java.awt.*;

  import java.awt.event.*;

  import javax.swing.*;

  import java.util.*;

  public class TestCalc{

   JFrame frame;//窗體

   JPanel panel;//下面的大panel

   JPanel shangmian;

   JPanel xiamian;

   JButton[] button;

   JButton back;

   JButton ce;

   JTextField jtf;

   boolean flag;

   int num;

   char oper;

   public TestCalc(){

   frame = new JFrame("計算器");

   jtf = new JTextField();

   jtf.setText(0.0+"");

   panel = new JPanel();

   shangmian = new JPanel();

   back = new JButton("Back");

   back.addActionListener(new ActionListener(){

   public void actionPerformed(ActionEvent ae){

   jtf.setText(0.0+"");

   ce = new JButton("CE");

   shangmian.add(back);

   shangmian.add(ce);

   xiamian = new JPanel();//FlowLayout

   xiamian.setLayout(new GridLayout(4,4));

   button = new JButton[16];

   String str = "7,8,9,/,4,5,6,*,1,2,3,-,0,+/-,+,=";

   String[] texts = str.split(",");

   NumberListener nl = new NumberListener();

   OperListener ol = new OperListener();

   for(int i=0;ibutton.length;i++){

   button[i] = new JButton(texts[i]);

   xiamian.add(button[i]);

   ActionListener al = ol;

   if(Character.isDigit(texts[i].charAt(0)))

   al = nl;

   button[i].addActionListener(al);

   panel.add(shangmian,"North");

   panel.add(xiamian);

   frame.add(panel);

   frame.add(jtf,"North");

   frame.setVisible(true);

   frame.setSize(208,220);

   frame.setDefaultCloseOperation(3);

   public static void main(String[]args){

   new TestCalc();

   double db;

   class NumberListener implements ActionListener{

   public void actionPerformed(ActionEvent ae){

   System.out.println("這是個(gè)數字:"+ae.getActionCommand());

   String num = ae.getActionCommand();

   db = Double.parseDouble(num);

   jtf.setText(db+"");

   class OperListener implements ActionListener{

   ArrayListDouble al = new ArrayListDouble();

   public void actionPerformed(ActionEvent ae){

   OperListener ol2 = new OperListener();

   String str = ae.getActionCommand();

   Character ch = str.charAt(0);

   System.out.println("這是個(gè)運算符:"+str);

   //for(int i =0;i2;i++){

   // String jt = jtf.getText();

   al.add(db);

   ol2.jisuan(ch);

   System.out.println(al);

   // }//for

   }//actionperformed

   int total;

   public void jisuan(char ch){

   OperListener ol3 = new OperListener();

   if(al.size()1){

   double dd1 = al.get(total);

   System.out.println("我被執行了");

   double dd2 = al.get(total+1);

   switch(ch){

   case ’+’:{double dd3 =dd1+dd2;ol3.jieguo(dd3,ch);}break;

   case ’-’:{double dd3 = dd1-dd2;ol3.jieguo(dd3,ch);}break;

   case ’*’:{double dd3 = dd1*dd2;ol3.jieguo(dd3,ch);}break;

   case ’/’:{double dd3 = dd1/dd2;ol3.jieguo(dd3,ch);}break;

   }}//switch

   }//jisuan

   public void jieguo(double dd3,Character ch){

   if(ch.equals(’=’)){

   jtf.setText(dd3+"");

   }//if

   }//jieguo

   }//內部類(lèi)

收藏0

發(fā)表評論

訪(fǎng)客

看不清,換一張

◎歡迎參與討論,請在這里發(fā)表您的看法和觀(guān)點(diǎn)。
中文字幕在线永久91_国产一级AV不卡毛片_亚洲日本中文字幕在线四区_日韩黄片在线大全