java版简易计算器_Java简易计算器

packageren.redface.demo;import java.awt.*;import java.awt.event.*;public classJisuanqi {public static voidmain(String[] args) {new MyFrame("计算器");

}

}class MyFrame extendsFrame {private static final long serialVersionUID = 1L;privateTextArea ta, tb;publicMyFrame(String title) {super(title);

SetTextAreas();

SetButtonArea();

SetMainFram();

}private voidSetButtonArea() {

addButton("7", 33, 28, 20, 178);

addButton("8", 33, 28, 58, 178);

addButton("9", 33, 28, 96, 178);

addButton("/", 33, 28, 134, 178);

addButton("%", 33, 28, 172, 178);

addButton("4", 33, 28, 20, 210);

addButton("5", 33, 28, 58, 210);

addButton("6", 33, 28, 96, 210);

addButton("*", 33, 28, 134, 210);

addButton("1/x", 33, 28, 172, 210);

addButton("1", 33, 28, 20, 242);

addButton("2", 33, 28, 58, 242);

addButton("3", 33, 28, 96, 242);

addButton("-", 33, 28, 134, 242);

addButton("0", 71, 28, 20, 274);

addButton(".", 33, 28, 96, 274);

addButton("+", 33, 28, 134, 274);

addButton("=", 33, 60, 172, 242);

}doublem, n;

String k;boolean flag = true;boolean flag2 = false;private void addButton(String string, int i, int j, int x, inty) {final Button b = newButton(string);

b.setLocation(x, y);

b.setSize(i, j);

b.setFont(new Font("标楷体", Font.BOLD, 15));

b.setBackground(Color.pink);

b.setForeground(Color.darkGray);

b.addMouseListener(newMouseAdapter() {

@Overridepublic voidmousePressed(MouseEvent e) {

counts();

}private voidcounts() {if (ta.getText().equals("") && (b.getActionCommand().equals("+") || b.getActionCommand().equals("-")|| b.getActionCommand().equals("*") || b.getActionCommand().equals("/")|| b.getActionCommand().equals("%") || b.getActionCommand().equals("1/x")|| b.getActionCommand().equals("="))) {

}else if (ta.getText().equals(".") && (b.getActionCommand().equals("+")|| b.getActionCommand().equals("-") || b.getActionCommand().equals("*")|| b.getActionCommand().equals("/") || b.getActionCommand().equals("%")|| b.getActionCommand().equals("1/x") || b.getActionCommand().equals("="))) {

}else{if (b.getActionCommand().equals("+") || b.getActionCommand().equals("-")|| b.getActionCommand().equals("*") || b.getActionCommand().equals("%")|| b.getActionCommand().equals("1/x") || b.getActionCommand().equals("/")) {if (flag2 = true) {

flag2= false;

}if(flag) {

n= newDouble(ta.getText()).doubleValue();

flag= false;

}else{if (k == "=") {

}else{

m= newDouble(ta.getText()).doubleValue();if (k == "-") {if (n == 0)

n=m;elsen= n -m;

}else if (k == "+") {if (n == 0)

n=m;elsen= n +m;

}else if (k == "*") {if (n == 0)

n=m;elsen= n *m;

}else if (k == "%") {if (n == 0)

n=m;elsem= m * 100;

}else if (k == "1/x") {if (n == 0)

n=m;elsen= 1 /m;

}else if (k == "/") {if (n == 0)

n=m;elsen= n /m;

}

}

}

k=b.getActionCommand();

ta.setText("");

}else if (b.getActionCommand().equals("=")) {

m= newDouble(ta.getText()).doubleValue();if (k == "+") {

ta.setText("");

ta.append(n+ "+" +m);

ta.append(System.getProperty("line.separator"));

n= n +m;

ta.append("=" +n);

}else if (k == "-") {

ta.setText("");

ta.append(n+ "-" +m);

ta.append(System.getProperty("line.separator"));

n= n -m;

ta.append("=" +n);

}else if (k == "*") {

ta.setText("");

ta.append(n+ "*" +m);

ta.append(System.getProperty("line.separator"));

n= n *m;

ta.append("=" +n);

}else if (k == "%") {

ta.setText("");

ta.append("%" +m);

ta.append(System.getProperty("line.separator"));

m= m * 100;

ta.append("=" + m + "%");

}else if (k == "1/x") {

ta.setText("");

ta.append(1 + "/" +m);

ta.append(System.getProperty("line.separator"));

n= 1 /m;

ta.append("=" +n);

}else if (k == "/") {

ta.setText("");

ta.append(n+ "/" +m);

ta.append(System.getProperty("line.separator"));

n= n /m;

ta.append("=" +n);

}

k= "=";

flag2= true;

}else{if(flag2) {

flag= true;

flag2= false;

ta.setText("");

m= n = 0;

}

ta.append(b.getActionCommand());

}

}

}

});this.add(b);

}private voidSetTextAreas() {

ta= new TextArea("0", 8, 52, 3);

ta.setBackground(Color.lightGray);

ta.setSize(190, 50);

ta.setFont(new Font("标楷体", Font.BOLD, 15));

ta.setLocation(20, 60);this.add(ta);

tb= new TextArea("  DESIGN BY Alec", 8, 52, 3);

tb.setBackground(Color.pink);

tb.setSize(190, 25);

tb.setFont(new Font("标楷体", Font.BOLD, 16));

tb.setForeground(Color.blue);

tb.setLocation(20, 130);this.add(ta);this.add(tb);

}

@SuppressWarnings("deprecation")private voidSetMainFram() {this.setLayout(null);this.setSize(220, 310);this.setVisible(true);this.setLocation(310, 340);this.setResizable(false);

ta.setEditable(false);

tb.setEditable(false);this.setCursor(Cursor.HAND_CURSOR);this.addWindowListener(newWindowAdapter() {public voidwindowClosing(WindowEvent e) {

System.exit(0);

}

});

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值