📄 java计算器.txt
字号:
/**
* @(#)exes5_13.java
*终于编出一个可以称得上程序的程序了
*拿出来显摆显摆
*同时也希望高手指正其中的错误与不足
*代码如下
* fireliuyu@author
* @version 1.00 2008/9/1
*/
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
//声明主类计算器----------------------
public class exes5_13
{
public static void main(String[] args)
{
makecalculator c=new makecalculator();
}
}
//做计算器对计算器具体实现-----------------------------
class makecalculator
{
//-------以下为做计算器外壳并加入事件监听器-------------------
private static String output="";
private static double a=0;
private static double b=0;
private static int temp=0;
private static int temp2=0;
private JFrame jf;
private JPanel panel;
private JPanel south;
private JTextField textfield;
private JButton button[];
//------------利用构造方法制作外壳--------------
public makecalculator()
{
jf=new JFrame("简单的计算器");
panel=new JPanel();
panel.setLayout(new BorderLayout());
textfield=new JTextField(30);
south=new JPanel();
south.setLayout(new GridLayout(4,5,10,10));
jf.setContentPane(panel);
button=new JButton[20];
button[0]=new JButton("7");
button[1]=new JButton("8");
button[2]=new JButton("9");
button[3]=new JButton("/");
button[4]=new JButton("Close");
button[5]=new JButton("4");
button[6]=new JButton("5");
button[7]=new JButton("6");
button[8]=new JButton("*");
button[9]=new JButton("C");
button[10]=new JButton("1");
button[11]=new JButton("2");
button[12]=new JButton("3");
button[13]=new JButton("-");
button[14]=new JButton("CE");
button[15]=new JButton("0");
button[16]=new JButton("+/-");
button[17]=new JButton(".");
button[18]=new JButton("+");
button[19]=new JButton("=");
for(int i=0;i<20;i++)
south.add(button[i]);
Handler handler=new Handler();
for(int i=0;i<20;i++)
button[i].addActionListener(handler);
panel.add(textfield,BorderLayout.NORTH);
panel.add(south,BorderLayout.SOUTH);
jf.setSize(400,200);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//利用内部类实现事件的记录------------------------------------
class Handler implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
for(int i=0;i<20;i++)
{
//---------------------------------------------------
if(event.getSource()==button[i]&&i!=4&&i!=9&&i!=14&&i!=19)
{
output+=button[i].getText();
textfield.setText(output);
if(i==3)
temp2=4;
if(i==8)
temp2=3;
if(i==13)
temp2=2;
if(i==18)
temp2=1;
if(i==3||i==8||i==13||i==18)
temp=1;
}
//---------------------------------------------------
if(event.getSource()==button[i]&&(i==0||i==1||i==2||i==5||i==6||i==7||i==10||i==11||i==12||i==15))
{
if(temp==0)
{
switch(i)
{
case 0:a=a*10+7;break;
case 1:a=a*10+8;break;
case 2:a=a*10+9;break;
case 5:a=a*10+4;break;
case 6:a=a*10+5;break;
case 7:a=a*10+6;break;
case 10:a=a*10+1;break;
case 11:a=a*10+2;break;
case 12:a=a*10+3;break;
case 15:a=a*10+0;break;
}
}
if(temp==1)
{
switch(i)
{
case 0:b=b*10+7;break;
case 1:b=b*10+8;break;
case 2:b=b*10+9;break;
case 5:b=b*10+4;break;
case 6:b=b*10+5;break;
case 7:b=b*10+6;break;
case 10:b=b*10+1;break;
case 11:b=b*10+2;break;
case 12:b=b*10+3;break;
case 15:b=b*10+0;break;
}
}
}
//--------------------------------------------------
if(event.getSource()==button[i]&&i==19)
{
temp=0;
switch(temp2)
{
case 1:a+=b;temp2=0;break;
case 2:a-=b;temp2=0;break;
case 3:a*=b;temp2=0;break;
case 4:a/=b;temp2=0;break;
case 0:break;
}
b=0;
output=""+a;
textfield.setText(output);
}
//------------------------------------------------------
if(event.getSource()==button[i]&&i==17)
{
a/=10;
output=""+a;
textfield.setText(output);
}
//------------------------------------------------------
if(event.getSource()==button[i]&&i==4)
System.exit(1);
//-------------------------------------------------------
if(event.getSource()==button[i]&&i==9)
{
a=0;b=0;temp=0;temp2=0;
output="";
textfield.setText(output);
}
}
}
}
}
/**
*以上为简单的计算器JAVA实现
*如有不完整地方恳请大牛指正并提出相应改进
*fireliuyucopyright
*
*
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -