简单的java计算器算法代码_java 计算器简单的代码

展开全部

如果你只要+,-* /的话,我有:

import java.awt.Button;

import java.awt.Frame;

import java.awt.GridLayout;

import java.awt.Panel;

import java.awt.TextField;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

public class Calculator extends WindowAdapter implements ActionListener {

private double result = 0;

private double data1 = 0;

private double radixPointDepth = 1;

private boolean radixPointIndicate = false;

private boolean resultIndicate = false;

private char prec = '+';

private Frame f;

private TextField tf;

private Button b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18;

private Panel p;

private Panel p2;

static public void main(String args[]) {

32313133353236313431303231363533e78988e69d8331333330343139Calculator de = new Calculator();

de.go();

}

public void go() {

f = new Frame("计算器");

p = new Panel();

p2 = new Panel();

p.setLayout(new GridLayout(4,4));

p2.setLayout(new GridLayout(1, 1));

tf = new TextField(30);

b1 = new Button("7");

b2 = new Button("8");

b3 = new Button("9");

b4 = new Button("+");

b5 = new Button("4");

b6 = new Button("5");

b7 = new Button("6");

b8 = new Button("-");

b9 = new Button("1");

b10 = new Button("2");

b11 = new Button("3");

b12 = new Button("*");

b13 = new Button("0");

b14 = new Button(".");

b15 = new Button("=");

b16 = new Button("/");

b17 = new Button("clear");

b18 = new Button("exit");

f.add(tf, "North");

f.add(p, "Center");

f.add(b18, "East");

f.add(p2, "South");

p.add(b1);

p.add(b2);

p.add(b3);

p.add(b4);

p.add(b5);

p.add(b6);

p.add(b7);

p.add(b8);

p.add(b9);

p.add(b10);

p.add(b11);

p.add(b12);

p.add(b13);

p.add(b14);

p.add(b15);

p.add(b16);

p2.add(b17);

b1.addActionListener(this);

b2.addActionListener(this);

b3.addActionListener(this);

b4.addActionListener(this);

b5.addActionListener(this);

b6.addActionListener(this);

b7.addActionListener(this);

b8.addActionListener(this);

b9.addActionListener(this);

b10.addActionListener(this);

b11.addActionListener(this);

b12.addActionListener(this);

b13.addActionListener(this);

b14.addActionListener(this);

b15.addActionListener(this);

b16.addActionListener(this);

b17.addActionListener(this);

b18.addActionListener(this);

f.addWindowListener(this);

f.setSize(250, 190);

f.setVisible(true);

}

public void actionPerformed(ActionEvent e) {

String s;

s = e.getActionCommand();

switch (s.charAt(0)) {

case '0':

case '1':

case '2':

case '3':

case '4':

case '5':

case '6':

case '7':

case '8':

case '9':

if (resultIndicate) {

result = 0;

data1 = 0;

prec = '+';

}

Integer Int1 = new Integer(s);

if (radixPointIndicate) {

radixPointDepth = radixPointDepth / 10;

data1 = data1 + (Int1.intValue()) * radixPointDepth;

} else {

data1 = data1 * 10 + (Int1.intValue());

}

Double displayNumber = new Double(data1);

tf.setText(displayNumber.toString());

resultIndicate = false;

break;

case '+':

case '-':

case '*':

case '/':

case '=':

if (s.charAt(0) != '=' && resultIndicate) {

prec = s.charAt(0);

resultIndicate = false;

} else {

switch (prec) {

case '+':

result = result + data1;

break;

case '-':

result = result - data1;

break;

case '*':

result = result * data1;

break;

case '/':

result = result / data1;

break;

}

}

radixPointIndicate = false;

radixPointDepth = 1;

displayNumber = new Double(result);

tf.setText(displayNumber.toString());

if (s.charAt(0) != '=') {

data1 = 0;

prec = s.charAt(0);

} else {

resultIndicate = true;

}

break;

case '.':

radixPointIndicate = true;

break;

}

if (s.equals("clear")) {

result = 0;

data1 = 0;

radixPointDepth = 1;

tf.setText("");

}

if (s.equals("exit")) {

System.exit(0);

}

}

public void windowClosing(WindowEvent e) {

System.exit(0);

}

}

界面如下:

8cb9b0ad29580901c4aa07b57783b69f.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值