ZBLOG

import java.awt.*; // 引入awt包中的所有类 import java.awt.event.AdjustmentEvent; // 引入awt.event包中的AdjustmentEvent类 import java.awt.event.AdjustmentListener; // 引入awt.event包中的AdjustmentListener类 public class E23 { // 定义E23类     Frame f = new Frame("调

import java.awt.; import java.awt.event.; import javax.swing.*;

public class Calculator {

private JFrame frame;
private JTextField textField;
private double num1, num2, result; // 存储计算过程中的数字和结果
private String operator; // 存储当前操作符

public Calculator() {
    initialize();
}

private void initialize() {
    frame = new JFrame("Calculator");
    frame.setBounds(100, 100, 250, 300);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JPanel panel = new JPanel(new GridLayout(4, 4, 5, 5));

    textField = new JTextField(10);
    textField.setEditable(false);

    JButton btn1 = new JButton("1");
    JButton btn2 = new JButton("2");
    JButton btn3 = new JButton("3");
    JButton btnAdd = new JButton("+");

    JButton btn4 = new JButton("4");
    JButton btn5 = new JButton("5");
    JButton btn6 = new JButton("6");
    JButton btnSubtract = new JButton("-");

    JButton btn7 = new JButton("7");
    JButton btn8 = new JButton("8");
    JButon bt9=JButton ("9"); 
JButton btnCancel=JButton ("C");    

JButton btndivide=JButton("/");

 	JButton btnequal=new JButto("="); 

panel.add(btnCancel);
panel.add(btndivide);
panel.add(btnMultiply);
panel.add(btnSubtract);
panel.add(btn7);
panel.add(btn8);
panel.add(btn9);	
panel.add(btnequal);
     panel. add (btn0) ;    
panle. add (btnmultiply) ;
  	frame.getContentPane().add(textField, BorderLayout.NORTH);
  	frame.getContentPane().add(panel, BorderLayout.CENTER);

  	ActionListener listener = new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            String cmd = e.getActionCommand();
            if ("0123456789".indexOf(cmd) != -1) {
                textField.setText(textField.getText() + cmd);
            } else if (cmd.equals("+")) {
                num1 = Double.parseDouble(textField.getText());
                operator = "+";
                textField.setText("");
            } else if (cmd.equals("-")) {
                num1 = Double.parseDouble(textField.getText());
                operator = "-";
                textField.setText("");
            } else if (cmd.equals("*")) {
               num1 = Double.parseDouble(textField.getText());
               operator = "*";
               textField.setText("");
       } else if (cmd.equals("/")){
	   num1 = Double.parseDouble(textField.getText());
               operator = "/";
               textField.setText("");
       }else if(cmd.equals("C")){
	   num1=0;
	   num2=0;
	   result=0;
	   operator=null;
	   textField.setText("");
	} else if (cmd.equals("=")) {
	    num2=Double.parseDouble(textField.gettext()); 
	    switch(operator){
	    	case "+": result=num1+num2;break; 
		case "-":result=num1-num2;break;
		case "*":result=num1*num2;break; 
		case "/":if(num2==0){
		          JOptionPane.showMessageDialog(frame, "除数不能为0!", "错误", JOptionPane.ERROR_MESSAGE);
			  return ;
		          }
		          result=num1/num2;
		         break ;
		   default:break;   	   
	    }
            textField.setTex(Double.toString(result));
        }
    }
    };

    btn1.addActionListener(listener);
    btn2.addActionListener(listener);
    btn3.addActionListener(listener);
btn4.addActionListener(listener);       
btn5.addActionListener(listener); 
btn6.addActionListener(listener);    
btn7.addActionListener(listener);     
btn8.addActionListener(listener);  
JButton9. addActionListener( listerner );
JButton0. addActionListener( listerner );
JButtonAdd. addActionListener( listerner );
JButtonSubstract. addActionListener( listerner );
JButtonMultiply. addActionListener( listerner );              
btndivide.addActionListenr(listnerer)
btnequal.addActionListenr(listnerer)

 	frame.setVisible(true);

}

public static void main(String[] args) {
     Calculator calc = new Calculator();
}

}

在这个计算器中,我们使用了类似于上面调整事件示例的方法来处理用户的输入。每当用户点击一个数字或操作符按钮时,我们将该按钮对应的字符串追加到文本框中。当用户点击操作符按钮时,我们保存当前数字和操作符,并清空文本框以等待下一次输入。最后,当用户点击“=”按钮时,我们根据保存的数字和操作符执行相应的计算并显示结果。

需要注意的是,在实现这个计算器时还需要考虑一些边界情况和错误处理,例如除数为0、输入非法字符等情况。此外,还可以添加更多功能,例如小数点、正负号、括号等。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=926

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?