java一段简单的代码_一段简单的手写Java计算器代码

本文介绍了一个简易计算器的设计与实现过程,采用Java Swing进行图形界面开发,实现了基本的四则运算功能。

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.lang.*;

public class Calculator1 extends JFrame implements ActionListener {

JTextField text;

static boolean isFirst = true;

double number = 0.0;

public static String s = "0";

double value,sum;

int n;

//主函数

public static void main(String[] args){

new Calculator1();

}

//构造方法

public Calculator1(){

JFrame mywindow = new JFrame();

mywindow.setTitle("我的计算器V-1");

mywindow.setSize(250,250);

mywindow.setLocation(400,300);

mywindow.setResizable(false);

mywindow.setLayout(new BorderLayout());

JPanel panel1 = new JPanel(new FlowLayout());

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

text = new JTextField("0",20);

text.setEditable(false);

panel1.add(text);

mywindow.add("North", panel1);

mywindow.add("Center", panel2);

String[] array = {"7","8","9","C","4","5","6","+","1","2","3","-","0","*","/","="};

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

for(int i=0;i

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

panel2.add(buttons[i]);

}

for(int i=0;i

buttons[i].addActionListener(this);

}

mywindow.setVisible(true);

}

public void actionPerformed(ActionEvent e) {

String oldstr = text.getText();

String label = e.getActionCommand();

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

s="0";

value= 0;

sum = 0;

text.setText(s);

}

else if("+-*/=0123456789".indexOf(label) > 4){

handNumber(label);

}else{

handOperator(label);

}

}

//操作数字函数

public void handNumber(String num){

if(s.equals("0"))

s = num;

else

s = s + num;

text.setText(s);

}

//操作符号函数

public void handOperator(String operator){

value = Double.valueOf(s);

switch(n)

{

case 0:sum = value;break;

case 1:sum = sum + value;break;

case 2:sum = sum - value;break;

case 3:sum = sum * value;break;

case 4:sum = sum / value;break;

}

if(operator.equals("=")){n = 0;}

if(operator.equals("+")){n = 1;}

if(operator.equals("-")){n = 2;}

if(operator.equals("*")){n = 3;}

if(operator.equals("/")){n = 4;}

s = String.valueOf(sum);

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

text.setText(s);

} else{

text.setText(s+operator);

s= "0";

}

}

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值