⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java计算器.txt

📁 就是一个小计算器
💻 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 + -