📄 jisuanqi.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Vector;
public class jisuanqi
{
String str1="0";
String str2="0";
String fh="+";
String jg="";
int k1=1;
int k2=1;
int k3=1;
int k4=1;
int k5=1;
JButton jicunqi;
Vector vt=new Vector(15,10);
JFrame frame=new JFrame("计算器 ");
JTextField jg_TextField=new JTextField(jg,20);
JButton clear_Button=new JButton("清除");
JButton button0=new JButton("0");
JButton button1=new JButton("1");
JButton button2=new JButton("2");
JButton button3=new JButton("3");
JButton button4=new JButton("4");
JButton button5=new JButton("5");
JButton button6=new JButton("6");
JButton button7=new JButton("7");
JButton button8=new JButton("8");
JButton button9=new JButton("9");
JButton button_Dian=new JButton(".");
JButton button_jia=new JButton("+");
JButton button_jian=new JButton("-");
JButton button_cheng=new JButton("*");
JButton button_chu=new JButton("/");
JButton button_dy=new JButton("=");
public static void main(String[] args)
{
jisuanqi qiyanjie=new jisuanqi();
}
jisuanqi()
{
button0.setMnemonic(KeyEvent.VK_0);
jg_TextField.setHorizontalAlignment(JTextField.RIGHT );
JPanel pan=new JPanel();
pan.setLayout(new GridLayout(4,4,5,5));
pan.add(button7);
pan.add(button8);
pan.add(button9);
pan.add(button_chu);
pan.add(button4);
pan.add(button5);
pan.add(button6);
pan.add(button_cheng);
pan.add(button1);
pan.add(button2);
pan.add(button3);
pan.add(button_jian);
pan.add(button0);
pan.add(button_Dian);
pan.add(button_dy);
pan.add(button_jia);
pan.setBorder(BorderFactory.createEmptyBorder(4,4,4,4));
JPanel pan2=new JPanel();
pan2.add(jg_TextField);
JPanel pan3=new JPanel();
pan3.setLayout(new FlowLayout());
pan3.add(clear_Button);
frame.setLocation(200, 100);
frame.setResizable(false);
frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add(pan2,BorderLayout.NORTH);
frame.getContentPane().add(pan,BorderLayout.CENTER);
frame.getContentPane().add(pan3,BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
class JianTing implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String ss=((JButton)e.getSource()).getText();
jicunqi=(JButton)e.getSource();
vt.add(jicunqi);
if (k1==1)
{
if(k3==1)
{
str1="";
k5=1;
}
str1=str1+ss;
k3=k3+1;
jg_TextField.setText(str1);
}
else if(k1==2)
{
if (k4==1)
{
str2="";
k5=1;
}
str2=str2+ss;
k4=k4+1;
jg_TextField.setText(str2);
}
}
}
class JianTing_fh implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String ss2=((JButton)e.getSource()).getText();
jicunqi=(JButton)e.getSource();
vt.add(jicunqi);
if(k2==1)
{
k1=2;
k5=1;
fh=ss2;
k2=k2+1;
}
else
{
int a=vt.size();
JButton c=(JButton)vt.get(a-2);
if(!(c.getText().equals("+"))&&!(c.getText().equals("-"))&&!(c.getText().equals("*"))&&!(c.getText().equals("/")))
{ yuns();
str1=jg;
k1=2;
k5=1;
k4=1;
fh=ss2;
} k2=k2+1;
}
}
}
class JianTing_clear implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
jicunqi=(JButton)e.getSource();
vt.add(jicunqi);
k5=1;
k2=1;
k1=1;
k3=1;
k4=1;
str1="0";
str2="0";
fh="";
jg="";
jg_TextField.setText(jg);
vt.clear();
}
}
class JianTing_dy implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
jicunqi=(JButton)e.getSource();
vt.add(jicunqi);
yuns();
k1=1;
k2=1;
k3=1;
k4=1;
str1=jg;
}
}
class JianTing_xiaos implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
jicunqi=(JButton)e.getSource();
vt.add(jicunqi);
if(k5==1)
{
String ss2=((JButton)e.getSource()).getText();
if (k1==1)
{
if(k3==1)
{
str1="";
k5=1;
}
str1=str1+ss2;
k3=k3+1;
jg_TextField.setText(str1);
}
else if(k1==2)
{
if (k4==1)
{
str2="";
k5=1;
}
str2=str2+ss2;
k4=k4+1;
jg_TextField.setText(str2);
}
}
k5=k5+1;
}
}
JianTing_dy jt_dy=new JianTing_dy();
JianTing jt= new JianTing();
JianTing_fh jt_fh= new JianTing_fh();
JianTing_clear jt_c=new JianTing_clear();
JianTing_xiaos jt_xs=new JianTing_xiaos();
button7.addActionListener(jt);
button8.addActionListener(jt);
button9.addActionListener(jt);
button_chu.addActionListener(jt_fh);
button4.addActionListener(jt);
button5.addActionListener(jt);
button6.addActionListener(jt);
button_cheng.addActionListener(jt_fh);
button1.addActionListener(jt);
button2.addActionListener(jt);
button3.addActionListener(jt);
button_jian.addActionListener(jt_fh);
button0.addActionListener(jt);
button_Dian.addActionListener(jt_xs);
button_dy.addActionListener(jt_dy);
button_jia.addActionListener(jt_fh);
clear_Button.addActionListener(jt_c);
frame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public void yuns()
{
double a2;
double b2;
String c=fh;
double jg2=0 ;
if (c.equals(""))
{
jg_TextField.setText("请输入运算符");
}
else
{
System.out.println("str1:"+str1);
System.out.println("str2:"+str2);
System.out.println("运算符:"+fh);
if (str1.equals("."))
str1="0.0";
if (str2.equals("."))
str2="0.0";
a2=Double.valueOf(str1).doubleValue();
b2=Double.valueOf(str2).doubleValue();
System.out.println("double型的a2:"+a2);
System.out.println("double型的b2:"+b2);
if (c.equals("+"))
{
jg2=a2+b2;
}
if (c.equals("-"))
{
jg2=a2-b2;
}
if (c.equals("*"))
{
jg2=a2*b2;
}
if (c.equals("/"))
{
if(b2==0)
{
jg2=0;
}
else
{
jg2=a2/b2;
}
}
System.out.println("double型a2"+fh+"b2结果:"+jg2);
System.out.println();
jg=((new Double(jg2)).toString());
jg_TextField.setText(jg);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -