用java写简易计算器_用JAVA写的简易计算器

/**

/* @(#)Jisaunqi.java

*

*

* @xiaohao

* @version 1.00 2015/12/3

*/

package Jisuanqi;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Jisuanqi extends JFrame implements ActionListener{

private static final long serialVersionUID = -169068472193786457L;

private class WindowCloser extends WindowAdapter{

public void windowClosing(WindowEvent we){

System.exit(0);

}

}

int i;

private final String[] str = {"7","8","9","/","4","5","6","*","1","2","3","-",".","0","=","+"};

JButton[] buttons=new JButton[str.length];

JButton reset=new JButton("CE");

JTextField display=new JTextField("0");

public Jisuanqi(){

super("计算器");

JPanel panel1=new JPanel(new GridLayout(4,4));

for(int i=0;i

buttons[i]=new JButton(str[i]);

panel1.add(buttons[i]);

}

JPanel panel2=new JPanel(new BorderLayout());

panel2.add("Center",display);

panel2.add("East",reset);

getContentPane().setLayout(new BorderLayout());

getContentPane().add("North",panel2);

getContentPane().add("Center",panel1);

for(i=0;i0)

handleNumber(label);

else

handleOperator(label);

}

boolean isFirstDigit=true;

public void handleNumber(String key){

if(isFirstDigit)

display.setText(key);

else if((key.equals("."))&&(display.getText().indexOf(".")<0))

display.setText(display.getText()+".");

else if(!key.equals("."))

display.setText(display.getText()+key);

isFirstDigit=false;

}

public void handleReset(){

display.setText("0");

isFirstDigit=true;

operator="=";

}

double number=0.0;

String operator="=";

public void handleOperator(String key) {

if (operator.equals("+"))

number += Double.valueOf(display.getText());

else if (operator.equals("-"))

number -= Double.valueOf(display.getText());

else if (operator.equals("*"))

number *= Double.valueOf(display.getText());

else if (operator.equals("/"))

number /= Double.valueOf(display.getText());

else if (operator.equals("="))

number = Double.valueOf(display.getText());

display.setText(String.valueOf(number));

operator = key;

isFirstDigit = true;

}

public static void main(String[] args) {

new Jisuanqi();

}

}

效果如图

2015120413435093.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值