java 简易数值计算器_java简易计算器

import java.awt.*;import java.awt.event.*;import javax.swing.*;public class SimpleCalc extendsJFrame{private static final long serialVersionUID = 1L;

String[] labels= {"←","CE","±","√","7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+"};

JButton[] btn;

JTextField tf;

Double n1= 0.0, n2 = 0.0;

String opt= "";

SimpleCalc(String name)

{super(name);this.setVisible(true);this.setBounds(400,300,300,400);this.addWindowListener(newWindowAdapter()

{public voidwindowClosing(WindowEvent e)

{

System.exit(0);

}

});

}public voidinit()

{

tf= newJTextField();

tf.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);

tf.setFont(new Font("宋体", 30,20));

btn= newJButton[labels.length];for(int i=0;i

{

btn[i]= newJButton(labels[i]);

btn[i].setForeground(Color.blue);//System.out.print(btn[i].getActionCommand()+" ");

}

JPanel p= newJPanel();

p.setLayout(new GridLayout(5,5,3,3));for(int i=0;i

p.add(btn[i]);

this.add(BorderLayout.NORTH,tf);this.add(BorderLayout.CENTER,p);this.pack();for(int i=0;i

btn[i].addActionListener(newMonitor());

}public static voidmain(String[] args) {//TODO Auto-generated method stub

new SimpleCalc("java简易计算器").init();

}class Monitor implementsActionListener

{

@Overridepublic voidactionPerformed(ActionEvent e) {try{

String cmd=e.getActionCommand();if(cmd.equals("0")||cmd.equals("1")||cmd.equals("2")||cmd.equals("3")||cmd.equals("4")||cmd.equals("5")||cmd.equals("6")||cmd.equals("7")||cmd.equals("8")||cmd.equals("9"))

{

tf.setText(tf.getText().trim()+e.getActionCommand());

n1=Double.parseDouble(tf.getText().trim());

}if(cmd.equals("←"))

{

tf.setText(tf.getText().trim().substring(0,tf.getText().trim().length()-1));

}else if(cmd.equals("CE"))

{

tf.setText("");

}else if(cmd.equals("±"))

{

n1=Double.parseDouble(tf.getText().trim());

tf.setText(-n1+"");

}else if(cmd.equals("√"))

{

n1=Double.parseDouble(tf.getText().trim());

tf.setText(Math.sqrt(n1)+"");

}else if(cmd.equals("+"))

{

n2=Double.parseDouble(tf.getText().trim());

opt= "+";

tf.setText("");

}else if(cmd.equals("-"))

{

opt= "-";

n2=Double.parseDouble(tf.getText().trim());

tf.setText("");

}else if(cmd.equals("*"))

{

opt= "*";

n2=Double.parseDouble(tf.getText().trim());

tf.setText("");

}else if(cmd.equals("/"))

{

opt= "/";

n2=Double.parseDouble(tf.getText().trim());

tf.setText("");

}else if(cmd.equals("."))

{if(tf.getText().trim().indexOf(".") != -1) //字符串中已经包含了小数点不做任何操作

{

}else //如果没有小数点

{if(tf.getText().trim().equals("0"))//如果开始为0

{

tf.setText(("0"+e.getActionCommand()).toString());

}else if(tf.getText().trim().equals(""))//如果初时显示为空不做任何操作

{

}else{

tf.setText((tf.getText()+e.getActionCommand()).toString());

}

}

}else if(cmd.equals("="))

{if(opt.equals("+"))

tf.setText((n2+n1)+"");else if(opt.equals("-"))

tf.setText((n2-n1)+"");else if(opt.equals("*"))

tf.setText((n2*n1)+"");else if(opt.equals("/"))

{if(n1 == 0)

tf.setText("除数不能为0");elsetf.setText((n2/n1)+"");

}

}

}catch(Exception ee){}

}

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值