java计算器视频教程_java计算器视频教程

汇总代码:

import java.awt.BorderLayout;

import java.awt.Button;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JFrame;

import static javax.swing.JFrame.EXIT_ON_CLOSE;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class Calculater extends JFrame implements ActionListener{

String title="Calculator@(^-^)@";

Button button0=new Button("0");

Button button1=new Button("1");

Button button2=new Button("2");

Button button3=new Button("3");

Button button4=new Button("4");

Button button5=new Button("5");

Button button6=new Button("6");

Button button7=new Button("7");

Button button8=new Button("8");

Button button9=new Button("9");

Button button10=new Button(".");

Button button11=new Button("/");

Button button12=new Button("*");

Button button13=new Button("+");

Button button14=new Button("-");

Button button15=new Button("=");

Button button16=new Button("Clear");

boolean state=false;

static double result=0.0;

String operation;

JTextField TextFeild1=new JTextField();

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

JPanel panel2=new JPanel(new GridLayout(1,2,4,4));

JLabel label1=new JLabel("Copyright ©2015-2016 Easom, All Rights Reserved");

public Calculater(){

super();

this.setTitle(title);

this.setVisible(true);

this.setLocationRelativeTo(null);

this.setSize(500,200);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setLayout(new BorderLayout());

panel1.add(button1);panel1.add(button2);panel1.add(button3);panel1.add(button11);

panel1.add(button4);panel1.add(button5); panel1.add(button6);panel1.add(button12);

panel1.add(button7);panel1.add(button8);panel1.add(button9);panel1.add(button14);

panel1.add(button0);panel1.add(button10); panel1.add(button13);panel1.add(button15);

panel2.add(TextFeild1);panel2.add(button16);

button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);

button4.addActionListener(this);button5.addActionListener(this);button6.addActionListener(this);

button7.addActionListener(this);button8.addActionListener(this);button9.addActionListener(this);

button10.addActionListener(this);button11.addActionListener(this);button12.addActionListener(this);

button13.addActionListener(this);button14.addActionListener(this);button15.addActionListener(this);

button16.addActionListener(this);button0.addActionListener(this);

this.add(panel2,BorderLayout.NORTH);

this.add(panel1,BorderLayout.CENTER);

this.add(label1,BorderLayout.SOUTH);

}

@Override

public void actionPerformed(ActionEvent e) {

String label=e.getActionCommand();

switch(label){

case "1":TextFeild1.setText(TextFeild1.getText()+"1");state=true;break;

case "2":TextFeild1.setText(TextFeild1.getText()+"2");state=true;break;

case "3":TextFeild1.setText(TextFeild1.getText()+"3");state=true;break;

case "4":TextFeild1.setText(TextFeild1.getText()+"4");state=true;break;

case "5":TextFeild1.setText(TextFeild1.getText()+"5");state=true;break;

case "6":TextFeild1.setText(TextFeild1.getText()+"6");state=true;break;

case "7":TextFeild1.setText(TextFeild1.getText()+"7");state=true;break;

case "8":TextFeild1.setText(TextFeild1.getText()+"8");state=true;break;

case "9":TextFeild1.setText(TextFeild1.getText()+"9");state=true;break;

case ".":TextFeild1.setText(TextFeild1.getText()+".");state=true;break;

case "0":TextFeild1.setText(TextFeild1.getText()+"0");state=true;break;

default:break;

}

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

result+=Double.valueOf(TextFeild1.getText());

System.out.println(result);

TextFeild1.setText("");

operation=label;

state=false;

}else if("-".equals(label)){

result-=Double.valueOf(TextFeild1.getText());

TextFeild1.setText("");

operation=label;

state=false;

}else if("=".equals(label)){

switch(operation){

case "+":result+=Double.valueOf(TextFeild1.getText());break;

case "-":result-=Double.valueOf(TextFeild1.getText());break;

case "/":result/=Double.valueOf(TextFeild1.getText());break;

case "*":result*=Double.valueOf(TextFeild1.getText());break;

}

TextFeild1.setText(String.valueOf(result));

}else if("/".equals(label)){

result=1;

result=Double.valueOf(TextFeild1.getText())/result;

TextFeild1.setText("");

operation=label;

}else if("*".equals(label)){

result=1;

result*=Double.valueOf(TextFeild1.getText());

TextFeild1.setText("");

operation=label;

}else if("Clear".equals(label)){

TextFeild1.setText("");

result=0.0;

operation="";

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值