📄 calculator.txt
字号:
import java.awt.*;
import java.awt.event.*;
public class Calculator {
int tmp,sum,sum1,sum2=1,sum3=1;
String a,b,c,d;String s = "";
/**tmp变量存放与Button动作相关的命令字符串的Ingeter值;
* sum变量存放加法操作的值;
*sum1变量存放减法操作的值;
*sum2变量存放乘法操作的值;
*sum3变量存放除法操作的值;
*/
Frame f= new Frame("My Calculator");
private String [] name = {"0","1","2","3","4","5","6","7","8","9","+","-","*","/","=","space"};
public Button [] button = new Button[name.length];
TextField t = new TextField("",30);
Panel p = new Panel();
Panel p1 = new Panel();
Color color = new Color(100,170,90);
/**
*内部类class WindowClose实现关闭窗口的WindowClosing方法;
*内部类ButtonEvent1实现给所有Button 对象的AcctionPerformed方法;
*
*/
public Calculator() {
p1.setLayout(new GridLayout(5,5));
for (int i = 0;i<name.length;i++){
button[i] = new Button(name[i]);
p1.add(button[i]);
}
p.setLayout(new FlowLayout(FlowLayout.LEFT));
p.setBackground(color);
p.add(t);
f.add(p,BorderLayout.NORTH);
f.add(p1,BorderLayout.SOUTH);
f.pack();
f.setVisible(true);
f.addWindowListener(new WindowClose());
t.setText("0.");
for(int i = 0;i<name.length;i++){
button[i].addActionListener(new ButtonEvent1());
}
}
public static void main(String [] args){
Calculator c = new Calculator();
}
class WindowClose extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
class ButtonEvent1 implements ActionListener {
/**
*getActionCommand()方法返回与动作相关的字符串;
*setText(String a)改变文本对象显示内容;
*getText()获得文本对象显示的内容;
*Integer.parseInt(String a)把字符串变成整型数据;
*/
public void actionPerformed(ActionEvent e) throws ArithmeticException{
String command = e.getActionCommand();
if(command.equals("+")){
sum = Integer.parseInt(t.getText())+sum;
t.setText(String.valueOf(sum));
a = t.getText();
s= "";
}
else if(command.equals("-")){
sum1 = Integer.parseInt(t.getText());
b = t.getText();
s= "";
}
else if(command.equals("*")){
sum2 = Integer.parseInt(t.getText())*sum2;
t.setText(String.valueOf(sum2));
c = t.getText();
s="";
}
else if(command.equals("/")){
sum3=Integer.parseInt(t.getText());
d = t.getText();
s="";
}
else if(command.equals("=")){
if(a!=null){
t.setText(String.valueOf(sum+tmp));}
if(b!=null){
t.setText(String.valueOf(sum1-tmp));}
if(c!=null){
t.setText(String.valueOf(sum2*tmp));}
try{
if(d!=null){
t.setText(String.valueOf(sum3/tmp));}
}
catch(ArithmeticException a){
t.setText("除数不能为零");
}
}
else if(command.equals("space")){
sum =0;
a = null;
b = null;
c = null;
d = null;
sum1 = 0;
sum2 = 1;
sum3 = 1;
tmp = 0;
t.setText("0.");
s="";
}
else{
s = s + command;
t.setText(s);
//tmp = Integer.valueOf(command).intValue();
tmp = Integer.parseInt(s);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -