java代码---------陈勇老师的

总结:看看写的多漂亮啊

package com.test4;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class Test {
	public static void main(String[] args) {
		Calculator_Frame cf = new Calculator_Frame();
	}

}

class Calculator_Frame extends JFrame implements ActionListener {
	boolean readyNextNumber = true;
	double number1 = 0;
	double number2 = 0;
	char op = '';
	JLabel jl;
	JPanel jp;
	JButton jb_1, jb_2, jb_3, jb_4, jb_5, jb_6, jb_7, jb_8, jb_9, jb_0, jb_jia,
			jb_jian, jb_cheng, jb_chu, jb_dian, jb_deng;
	String str;
	Calculator_Frame() {
		jl = new JLabel("0.0", JLabel.RIGHT);
		jl.setFont(new Font("Dialog", 1, 17));
		jp = new JPanel(new GridLayout(4, 4));
		jb_0 = new JButton("0");
		jb_9 = new JButton("9");
		jb_1 = new JButton("1");
		jb_2 = new JButton("2");
		jb_3 = new JButton("3");
		jb_4 = new JButton("4");
		jb_5 = new JButton("5");
		jb_6 = new JButton("6");
		jb_7 = new JButton("7");
		jb_8 = new JButton("8");
		jb_jia = new JButton("+");
		jb_jian = new JButton("-");
		jb_cheng = new JButton("*");
		jb_chu = new JButton("/");
		jb_deng = new JButton("=");
		jb_dian = new JButton(".");
		jb_0.addActionListener(this);
		jb_1.addActionListener(this);
		jb_2.addActionListener(this);
		jb_3.addActionListener(this);
		jb_4.addActionListener(this);
		jb_5.addActionListener(this);
		jb_6.addActionListener(this);
		jb_7.addActionListener(this);
		jb_8.addActionListener(this);
		jb_9.addActionListener(this);
		jb_jia.addActionListener(this);
		jb_jian.addActionListener(this);
		jb_cheng.addActionListener(this);
		jb_chu.addActionListener(this);
		jb_dian.addActionListener(this);
		jb_deng.addActionListener(this);

		jp.add(jb_1);
		jp.add(jb_2);
		jp.add(jb_3);
		jp.add(jb_jia);
		jp.add(jb_4);
		jp.add(jb_5);
		jp.add(jb_6);
		jp.add(jb_jian);
		jp.add(jb_7);
		jp.add(jb_8);
		jp.add(jb_9);
		jp.add(jb_cheng);
		jp.add(jb_0);
		jp.add(jb_dian);
		jp.add(jb_deng);
		jp.add(jb_chu);
		this.add(jl, BorderLayout.NORTH);
		this.add(jp, BorderLayout.CENTER);
		this.setBounds(100, 10, 200, 300);
		this.setDefaultCloseOperation(3);
		this.setVisible(true);

	}

	public void actionPerformed(ActionEvent e) {
		str = e.getActionCommand();// 获取按钮上的字符串

		// 判断是否点击的数字
		if (str.equals("0") || str.equals("1") || str.equals("2")
				|| str.equals("3") || str.equals("4") || str.equals("5")
				|| str.equals("6") || str.equals("7") || str.equals("8")
				|| str.equals("9") || str.equals(".")) {
			if (readyNextNumber) {// 判断是否想输入一个新数字
				jl.setText(str);
				readyNextNumber = false;
			} else {
				jl.setText(jl.getText() + str);// 把label上的字符串加上刚刚点击的字符串
			}
			// 判断是否点击的操作符
		} else if (str.equals("+")) {
			readyNextNumber = true;
			
			if(op == ''){
				number1 = Double.parseDouble( jl.getText());
			}else{
				number2 = Double.parseDouble( jl.getText());
				jl.setText(count()+"");
				number1 = count();
			}
			
			
			op = '+';
		}else if(str.equals("-")){
			readyNextNumber = true;
			
			if(op == ''){
				number1 = Double.parseDouble( jl.getText());
			}else{
				number2 = Double.parseDouble( jl.getText());
				jl.setText(count()+"");
				number1 = count();
			}
			op = '-';
		}else if(str.equals("*")){
			readyNextNumber = true;
			
			if(op == ''){
				number1 = Double.parseDouble( jl.getText());
			}else{
				number2 = Double.parseDouble( jl.getText());
				jl.setText(count()+"");
				number1 = count();
			}
			op = '*';
		}else if(str.equals("/")){
			readyNextNumber = true;
			
			if(op == ''){
				number1 = Double.parseDouble( jl.getText());
			}else{
				number2 = Double.parseDouble( jl.getText());
				jl.setText(count()+"");
				number1 = count();
			}
			op = '/';
		}else if(str.equals("=")){
			readyNextNumber = true;
			number2 = Double.parseDouble( jl.getText());
			jl.setText(count()+"");
			op = '';
		}
	}
	
	public double count(){
		double result = 0;
		switch (op) {
		case '+':
			result=	number1 + number2;
			break;
		case '-':
			result=number1 - number2;
			break;
		case '*':
			result=number1 * number2;
			break;
		case '/':
			result=number1 / number2;
			break;

		default:
			break;
		}
		return  result;
	}
	
	
	
	

}

  

原文地址:https://www.cnblogs.com/langlove/p/3506383.html