JAVA作业-简易计算器

时间:2021-11-07 21:53:25

工程名随意,文件名必须为Jisuanqi.java

JAVA作业-简易计算器JAVA作业-简易计算器View Code
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;

public class Jisuanqi extends JFrame implements ActionListener{
private JTextField reasult;
private JButton btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn0,
btnAC,btnAdd,btnSub,btnReasult,btnD,
btnAbout,btnCancel;
private boolean add,sub,end,s,c;
private String str;
private double num1,num2;
public Jisuanqi(){
JPanel p1
=new JPanel();
JPanel p2
=new JPanel();
JPanel p3
=new JPanel();
TitledBorder tb
=new TitledBorder("OutPut");tb.setTitleColor(Color.YELLOW);

btnAbout
=new JButton("Producer");
btnCancel
=new JButton("Close");
btnCancel.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent ee){
System.exit(
0);
}
});
btnAbout.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent ee){
JOptionPane.showMessageDialog(
null, "刘道广", "制作人",JOptionPane.INFORMATION_MESSAGE);
}
});
p3.add(btnAbout);
p3.add(btnCancel);

reasult
= new JTextField("0",20);
reasult.setEditable(
false);
reasult.setHorizontalAlignment(JTextField.RIGHT);
reasult.setForeground(Color.BLUE);

p1.setBorder(tb);
p1.add(reasult);
btn0
=new JButton("0"); btn0.addActionListener(this);
btn1
=new JButton("1"); btn1.addActionListener(this);
btn2
=new JButton("2"); btn2.addActionListener(this);
btn3
=new JButton("3"); btn3.addActionListener(this);
btn4
=new JButton("4"); btn4.addActionListener(this);
btn5
=new JButton("5"); btn5.addActionListener(this);
btn6
=new JButton("6"); btn6.addActionListener(this);
btn7
=new JButton("7"); btn7.addActionListener(this);
btn8
=new JButton("8"); btn8.addActionListener(this);
btn9
=new JButton("9"); btn9.addActionListener(this);
btnD
=new JButton("."); btnD.addActionListener(this); btnD.setForeground(Color.GREEN);
btnAC
=new JButton("AC"); btnAC.addActionListener(this); btnAC.setBackground(Color.RED);
btnAdd
=new JButton("+"); btnAdd.addActionListener(this); btnAdd.setForeground(Color.CYAN);
btnSub
=new JButton("-"); btnSub.addActionListener(this); btnSub.setForeground(Color.CYAN);
btnReasult
=new JButton("="); btnReasult.addActionListener(this); btnReasult.setForeground(Color.RED);

p2.add(btn1);p2.add(btn2);p2.add(btn3);p2.add(btn4);p2.add(btn5);
p2.add(btn6);p2.add(btn7);p2.add(btn8);p2.add(btn9);p2.add(btn0);
p2.add(btnD);p2.add(btnAC);p2.add(btnAdd);p2.add(btnSub);p2.add(btnReasult);
p2.setLayout(
new GridLayout(5,3));

add(p1,BorderLayout.NORTH);
add(p2,BorderLayout.CENTER);
add(p3,BorderLayout.SOUTH);
}
public void num(int i){
String s
=null;
s
=String.valueOf(i);
if(end){
reasult.setText(
"0");
end
=false;
}
if((reasult.getText()).equals("0")){
reasult.setText(s);
}
else{
str
=reasult.getText()+s;
reasult.setText(str);
}
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==btn1) num(1);
else if(e.getSource()==btn2) num(2);
else if(e.getSource()==btn3) num(3);
else if(e.getSource()==btn4) num(4);
else if(e.getSource()==btn5) num(5);
else if(e.getSource()==btn6) num(6);
else if(e.getSource()==btn7) num(7);
else if(e.getSource()==btn8) num(8);
else if(e.getSource()==btn9) num(9);
else if(e.getSource()==btn0) num(0);
else if(e.getSource()==btnAdd){
sign(
1);
btnD.setEnabled(
true);
}
else if(e.getSource()==btnSub){
sign(
2);
btnD.setEnabled(
true);
}
else if(e.getSource()==btnAC){
btnD.setEnabled(
true);
reasult.setText(
"0");
}
else if(e.getSource()==btnD){
str
=reasult.getText();
str
+='.';
reasult.setText(str);
btnD.setEnabled(
false);
}
else if(e.getSource()==btnReasult){
btnD.setEnabled(
true);
num2
=Double.parseDouble(reasult.getText());
if(add){
num1
=num1+num2;
}
else if(sub){
num1
=num1-num2;
}
reasult.setText(String.valueOf(num1));
end
=true;
}
}
public void sign(int s){
if(s==1){
add
=true;
sub
=false;

}
else if(s==2){
add
=false;
sub
=true;

}

num1
=Double.parseDouble(reasult.getText());
end
=true;
}
public static void main(String[] args){
Jisuanqi j
=new Jisuanqi();
j.setTitle(
"+/-简易计算器");
j.setLocation(
500, 280);
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
j.setResizable(
false);
j.pack();
j.setVisible(
true);
}
}

JAVA作业-简易计算器

JAVA作业-简易计算器