Java带计算过程的计算器课程设计报告(3)

2020-02-21 15:01

{

oprationButton[i]=new OperationButton(运算符号[i]); oprationButton[i].addActionListener(this); }

小数点按钮=new Button(\

正负号按钮 =new Button(\ 等号按钮=new Button(\ 求倒数按钮=new Button(\ 退格按钮=new Button(\退格\ 清零按钮=new Button(\

清零按钮.setForeground(Color.red); 退格按钮.setForeground(Color.red); 等号按钮.setForeground(Color.red); 求倒数按钮.setForeground(Color.blue); 正负号按钮.setForeground(Color.blue); 小数点按钮.setForeground(Color.blue); 退格按钮.addActionListener(this); 清零按钮.addActionListener(this); 等号按钮.addActionListener(this); 小数点按钮.addActionListener(this); 正负号按钮.addActionListener(this); 求倒数按钮.addActionListener(this); process=new JTextField(10);

process.setHorizontalAlignment(JTextField.LEFT); process.setForeground(Color.blue);

process.setFont(new Font(\

process.setBorder(new SoftBevelBorder(BevelBorder.LOWERED)); process.setBackground(Color.white); process.setEditable(false);

resultShow=new JTextField(10);

resultShow.setHorizontalAlignment(JTextField.RIGHT); resultShow.setForeground(Color.blue);

resultShow.setFont(new Font(\

resultShow.setBorder(new SoftBevelBorder(BevelBorder.LOWERED)); resultShow.setBackground(Color.white); resultShow.setEditable(false);

panel=new Panel(); panel.setLayout(new GridLayout(5,4)); Panel.add(清零按钮); Panel.add(退格按钮);

panel.add(numberButton[1]); panel.add(numberButton[2]); panel.add(numberButton[3]); Panel.add(numberButton[4]); panel.add(numberButton[5]); panel.add(numberButton[6]);

9

保存计算过程的计算器

Panel.add(numberButton[7]); panel.add(numberButton[8]); panel.add(numberButton[9]); Panel.add(numberButton[0]); Panel.add(oprationButton[0]); panel.add(oprationButton[1]); panel.add(oprationButton[2]); panel.add(oprationButton[3]); panel.add(求倒数按钮); panel.add(正负号按钮); panel.add(小数点按钮); Panel.add(等号按钮);

add(panel,BorderLayout.SOUTH);

add(resultShow,BorderLayout.CENTER); add(process,BorderLayout.NORTH);

addWindowListener(new WindowAdapter()

{ public void windowClosing(WindowEvent e) {

System.exit(0); } }); setVisible(true);

setBounds(100,50,170,190); setResizable(true); validate(); }

public void actionPerformed(ActionEvent e) {

if(e.getSource() instanceof NumberButton) {

NumberButton b=(NumberButton)e.getSource(); if(链表.size()==0) {

int number=b.getNumber(); 链表.add(\ resultShow.setText(\ process.setText(\ 是否按下等号=false; }

else if(链表.size()==1&&是否按下等号==false) {

int number=b.getNumber();

String num=(String)链表.getFirst(); String s=num.concat(\ 链表.set(0,s);

resultShow.setText(s); process.setText(s);

}

else if(链表.size()==1&&是否按下等号==true) {

int number=b.getNumber(); 链表.removeFirst();

链表.add(\ 是否按下等号=false;

resultShow.setText(\ process.setText(\ }

else if(链表.size()==2) {

int number=b.getNumber(); 链表.add(\

resultShow.setText(\

process.setText(\链表.get(0))+((String)链表.get(1))+number); }

else if(链表.size()==3) {

int number=b.getNumber();

String num=(String)链表.getLast(); String s=num.concat(\

process.setText(\链表.get(0))+((String)链表.get(1))+((String)链表.get(2))+number); 链表.set(2,s);

resultShow.setText(s); } }

else if(e.getSource() instanceof OperationButton) {

OperationButton b=(OperationButton)e.getSource(); if(链表.size()==1) {

String fuhao=b.get运算符号();

process.setText(\链表.get(0))+fuhao); 链表.add(fuhao); }

else if(链表.size()==2) {

String fuhao=b.get运算符号(); 链表.set(1,fuhao);

process.setText(\链表.get(0))+((String)链表.get(1)));

11

保存计算过程的计算器

}

else if(链表.size()==3) {

String fuhao=b.get运算符号();

String number1=(String)链表.getFirst(); String number2=(String)链表.getLast(); String 运算符号=(String)链表.get(1);

process.setText(\链表.get(0))+((String)链表.get(1))+((String)链表.get(2))+运算符号); try {

double n1=Double.parseDouble(number1); double n2=Double.parseDouble(number2); double n=0;

if(运算符号.equals(\ {

n=n1+n2; }

else if(运算符号.equals(\ {

n=n1-n2; }

else if(运算符号.equals(\ {

n=n1*n2; }

else if(运算符号.equals(\ {

n=n1/n2; }

链表.clear();

链表.add(\ 链表.add(fuhao); resultShow.setText(\ }

catch(Exception ee) { } } }

else if(e.getSource()==等号按钮) {

是否按下等号=true;

if(链表.size()==1||链表.size()==2) {

String num=(String)链表.getFirst(); resultShow.setText(\ process.setText(num+\

}

else if(链表.size()==3) {

String number1=(String)链表.getFirst(); String number2=(String)链表.getLast(); String 运算符号=(String)链表.get(1);

process.setText(\链表.get(0))+((String)链表.get(1))+((String)链表.get(2))+\ try {

double n1=Double.parseDouble(number1); double n2=Double.parseDouble(number2); double n=0;

if(运算符号.equals(\ {

n=n1+n2; }

else if(运算符号.equals(\ {

n=n1-n2; }

else if(运算符号.equals(\ {

n=n1*n2; }

else if(运算符号.equals(\ {

n=n1/n2; }

resultShow.setText(\ 链表.set(0,\ 链表.removeLast(); 链表.removeLast(); }

catch(Exception ee) { } } }

else if(e.getSource()==小数点按钮) {

if(链表.size()==0) {

是否按下等号=false; }

13


Java带计算过程的计算器课程设计报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016上海市初级救生员理论试题库和答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: