⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calc.java

📁 JAVA编写的简单用户界面式计算器,是大一JAVA课时的作业
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.*;

public class Calc extends JFrame implements ActionListener {
	JPanel 		keypad = new JPanel(new GridLayout(4,4,2,2));
	Font 		font   = new Font("SansSerif", Font.BOLD, 32);
	JButton		keys[][];
	JTextField	display = new JTextField("0");
	StringBuffer		calc;
	double		x,y;
	int		op;
	final int   PLUS 	= 1;
	final int   MINUS 	= 2;
	final int   TIMES 	= 3;
	final int   DIVIDE 	= 4;

	public Calc() {
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		setTitle("The PRG Calculator");
		int			i, j;
		// create the keys
		keys = new JButton[4][4];
		keys[0][0] = new JButton("7");
		keys[0][1] = new JButton("8");
		keys[0][2] = new JButton("9");
		keys[0][3] = new JButton("+");
		keys[1][0] = new JButton("4");
		keys[1][1] = new JButton("5");
		keys[1][2] = new JButton("6");
		keys[1][3] = new JButton("-");
		keys[2][0] = new JButton("1");
		keys[2][1] = new JButton("2");
		keys[2][2] = new JButton("3");
		keys[2][3] = new JButton("x");
		keys[3][0] = new JButton("0");
		keys[3][1] = new JButton(".");
		keys[3][2] = new JButton("=");
		keys[3][3] = new JButton("/");

		for(i = 0; i < 4; i++) {
			for(j = 0; j < 4; j++) {
				keys[i][j].setFont(font);
				keys[i][j].addActionListener(this);
				keypad.add(keys[i][j]);
			}
		}

		getContentPane().setLayout(new BorderLayout());
		this.getContentPane().add(keypad, BorderLayout.CENTER);
		display.setHorizontalAlignment(JTextField.RIGHT);
		display.setFont(font);
		display.setEditable(false);
		display.setForeground(Color.green);
		display.setBackground(Color.black);
		this.getContentPane().add(display, BorderLayout.NORTH);
		setSize(400,400);
		setVisible(true);
		calc = new StringBuffer();


	}

	public void actionPerformed(java.awt.event.ActionEvent e) {		try {			if(e.getSource()==keys[0][3]) {				x=Double.parseDouble(display.getText());				calc.setLength(0);				op=1;			} else if (e.getSource()==keys[1][3]) {				x=Double.parseDouble(display.getText());				calc.setLength(0);				op=2;			} else if(e.getSource()==keys[2][3]) {				x=Double.parseDouble(display.getText());				calc.setLength(0);				op=3;			} else if(e.getSource()==keys[3][3]) {				x=Double.parseDouble(display.getText());				calc.setLength(0);				op=4;			} else if(e.getSource()==keys[3][2]) {				calc.setLength(0);				switch(op) {					case 1:						display.setText(""+(x+y));						op=0;
						break;					case 2:						display.setText(""+(x-y));						op=0;
						break;					case 3:						display.setText(""+(x*y));						op=0;
						break;					case 4:						if (y==0) {
							display.setText("overflow");
						} else {
							display.setText(""+(x/y));						}
						op=0;
						break;				}			} else if(e.getSource()==keys[3][1]) {				if(display.getText().indexOf('.')!=-1)				{				} else if(display.getText().equals("0")) {					calc.setLength(0);					display.setText((calc.append("0"+e.getActionCommand())).toString());				} else if(display.getText().equals(""))				{				} else {					display.setText(calc.append(e.getActionCommand()).toString());				}						} else {				if(e.getSource()==keys[3][0]) {					if(display.getText().equals("0"))					{					} else {						display.setText(calc.append(e.getActionCommand()).toString());						y=Double.parseDouble(display.getText());					}				} else {					display.setText(calc.append(e.getActionCommand()).toString());					y=Double.parseDouble(display.getText());				}			}		} catch (NumberFormatException e2) {			display.setText("Wrong Number Format");		}
	}

	public static void main(String args[]) {
		Calc sums = new Calc();

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -