聯成電腦技術論壇

 找回密碼
 註冊
搜索
查看: 1462|回復: 1

[問題] 請教高手們

[複製鏈接]
發表於 2012-4-4 15:39:11 | 顯示全部樓層 |閱讀模式
import java.awt.*;
import java.awt.event.*;
public class test
{
        String[] name = {"7","8","9","CE","sqrt","4","5","6","*","%","1","2","3","-","1/x","0","+/-",".","+","=" };
        Frame f=new Frame("簡易計算機");
        Panel p=new Panel(),q=new Panel();
        TextField t=new TextField(30);
        Button b[]=new Button[name.length];
        double op1,op2,op3;
        char temp,op;
        boolean puanduan=false;
        ActionListener buttonListener=new ActionListener()
        {
                public void actionPerformed(ActionEvent e)
                {
                        String temp=e.getActionCommand();
                        if(temp.equals("+")||temp.equals("-")||temp.equals("*")||temp.equals("/"))
                        {
                                op=temp.charAt(0);
                                op1=Double.parseDouble(t.getText());
                                t.setText(op1+"");
                                puanduan=true;
                        }
                        else if(temp.equals("="))
                        {
                                switch (op)
                                {
                                        case '+':
                                                op3=op1+op2;
                                                t.setText(op3+"");
                                                break;
                                        case '-':
                                                op3=op1-op2;
                                                t.setText(op3+"");
                                                break;
                                        case '*':
                                                op3=op1*op2;
                                                t.setText(op3+"");
                                                break;
                                        case '/':
                                                op3=op1/op2;
                                                t.setText(op3+"");
                                                break;
                                }
                        }
                        else if(temp.equals("CE"))
                                t.setText("");
                        else
                        {
                                if(puanduan==false)
                                        t.setText(t.getText()+temp);
                                if(puanduan==true)
                                        {
                                        t.setText(""+temp);
                                        op2=Double.parseDouble(t.getText());
                                        puanduan=true;
                                        }
                        }
                };
        };
        public void set()
        {
                f.setSize(250,200);
                p.add(t);
                f.add(p,BorderLayout.NORTH);
                f.add(q);
                q.setLayout(new GridLayout(4,5,4,4));
                for(int i=0;i<name.length;i++)
                {
                        b[i]=new Button(name[i]);
                        b[i].addActionListener(buttonListener);
                        q.add(b[i]);
                }
                f.setVisible(true);
                f.addWindowListener(new WindowAdapter()
                {
                        public void windowClosing(WindowEvent e)
                        {
                                System.exit(0);
                        }
                });
        }
        public static void main(String args[])
        {
                test t=new test();
                t.set();
        }
}

請問一下高手
Q1:
                        if(temp.equals("+")||temp.equals("-")||temp.equals("*")||temp.equals("/"))
                        {
                                op=temp.charAt(0);
                                op1=Double.parseDouble(t.getText());
                                t.setText(op1+"");
                                puanduan=true;
                        }
這段Code中,puanduan=true;為何?

Q2:
else
                        {
                                if(puanduan==false)
                                        t.setText(t.getText()+temp);
                                if(puanduan==true)
                                        {
                                        t.setText(""+temp);
                                        op2=Double.parseDouble(t.getText());
                                        puanduan=true;
                                        }
                        }
請問一下這段Code意義在哪

如有高手能解疑惑 非常感激不盡
發表於 2012-4-19 22:03:59 | 顯示全部樓層
最近忙著適應新工作

今天才跑來看

我研究一下後再跟你說

另外一題也是
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



小黑屋|Archiver|手機版|聯成電腦技術論壇  

GMT+8, 2019-9-16 12:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表