1、 Button caculateBtn = new Button16; String btnLabel = 1,23+456-, 789*0C=/; TextField inOutTfd = new TextField(50); Panel btnPanel = new Panel(); public void init() btnPanel.setLayout(new GridLayout(4,4); for(int i=0; i16; i+) caculateBtni = new Button(btnLabeli); caculateBtni.addActionListener(this)
2、; btnPanel.add(caculateBtni); setLayout(new BorderLayout(); add(North, inOutTfd);Center, btnPanel); inOutTfd.setText(); caculateStatus = 0; public void actionPerformed(ActionEvent ae) if(ae.getSource() instanceof Button) char ch = (Button)(ae.getSource().getLabel().charAt(0); /System.out.println(ch
3、+ , status: + caculateStatus); switch(ch) case C : firstOperant = secondOperant = 0; break;= if(caculateStatus = 0) caculateStatus = 3; else if(caculateStatus = 2) oneStepCaculate(); /System.out.println(firstOperant + + secondOperant);+-*/ if(caculateStatus = 0 | caculateStatus = 3) secondOperant =
4、0; caculateStatus = 1; else if(caculateStatus = 1) operator = ch; default : /数字键 int temp = (int)firstOperant; temp = temp*10 + ch - 0; inOutTfd.setText(Integer.toString(temp); firstOperant = temp; secondOperant = ch - inOutTfd.setText(Integer.toString(int)secondOperant); caculateStatus = 2; int tem
5、p = (int)secondOperant; secondOperant = temp; else if(caculateStatus = 3) firstOperant = ch - inOutTfd.setText(Integer.toString(int)firstOperant); /switch public void oneStepCaculate() switch(operator) firstOperant += secondOperant; firstOperant -= secondOperant;: firstOperant *= secondOperant; firs
6、tOperant /= secondOperant; inOutTfd.setText(Double.toString(firstOperant); 2. 根据下面的要求编程实现复数类ComplexNumber。(1)复数类的属性包括实数部分和虚数部分(2)复数类的方法有加法add,减法subtract并编程验证以上的复数类。接收用户输入的复数的实部和虚部,计算复数与复数、复数与实数的加、减的操作。public class test1 public static void main(String args) ComplexNumber cNumber_1 = new ComplexNumber
7、(3,-5); ComplexNumber cNumber_2 = new ComplexNumber(2,2); double d = 10.0; System.out.println(cNumber_1.toString() + 加 + cNumber_2.toString() + 等于 + cNumber_plexAdd(cNumber_2).toString(); + d + + cNumber_plexAdd(d).toString(); 减 + cNumber_plexMinus(cNumber_2).toString(); + cNumber_plexMinus(d).toStr
8、ing(); 乘 + cNumber_plexMulti(cNumber_2).toString(); + cNumber_plexMulti(d).toString();class ComplexNumber /域 private double m_dRealPart; private double m_dImaginPart; /构造函数 ComplexNumber() m_dRealPart = 0.0; m_dImaginPart = 0.0; ComplexNumber(double r,double i) m_dRealPart = r; m_dImaginPart = i; Co
9、mplexNumber(ComplexNumber c) m_dRealPart = c.getRealPart(); m_dImaginPart = c.getImaginaryPart(); /get,set方法 double getRealPart() return m_dRealPart; double getImaginaryPart() return m_dImaginPart; void setRealPart(double d) m_dRealPart = d; void setImaginaryPart(double d) m_dImaginPart = d; /复数运算方法
10、 ComplexNumber complexAdd(ComplexNumber c) return new ComplexNumber( this.m_dRealPart + c.getRealPart(), this.m_dImaginPart + c.getImaginaryPart(); ComplexNumber complexAdd(double c) this.m_dRealPart + c, this.m_dImaginPart); ComplexNumber complexMinus(ComplexNumber c) this.m_dRealPart - c.getRealPart(), this.m_dImaginPart - c.getImaginaryPart(); ComplexNumber complexMinus
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1