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

📄 caculator.txt

📁 java 计算器源码 可以进行简单计算 加减乘除 较简介
💻 TXT
字号:
package calculator;

import javax.swing.JFrame;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.text.DecimalFormat;

public class Calculator extends  JFrame implements ActionListener
{
    private final String[] Button={"7","8","9","4","5","6","1","2","3","0",".","="};
    private final String[] Operation={"+","-","*","/"};
    private JButton button[]=new JButton[Button.length];
    private JButton operation[]=new JButton[Operation.length];
    private JTextField resultText=new JTextField("",10);
    private boolean input=true;
    private double resultNum=0.0;
    private boolean operateValidFlag=true;
    private String result="=";
    
    public static void main(String[] args)
    {
        JFrame frame=new JFrame(“calculator”);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        Calculator c=new Calculator();
        c.pack();
        c.setVisible(true);
    }

    public Calculator()
    {
        super("Calculator");
        init();
    }
    
    void init()
    {
        setBackground(Color.BLUE);
        
        JPanel p1=new JPanel();
        JPanel p2=new JPanel();
        JPanel p3=new JPanel(); 
        JPanel bigpanel=new JPanel();
        
        bigpanel.setBackground(Color.white);
        
        bigpanel.add(p1);
        bigpanel.add(p2);
        bigpanel.add(p3);
        this.getContentPane().add(bigpanel);
        p1.setLayout(new GridLayout(4,3));
        p2.setLayout(new GridLayout(4,1));
        p3.setLayout(new FlowLayout());
        
        
        for(int i=0; i<Button.length;i++)
        {
              button[i]=new JButton(Button[i]);
              button[i].addActionListener(this);
              button[i].setBackground(Color.white);
              p1.add(button[i]);
        }
        
         for(int i=0;i<Operation.length;i++)
         {
              operation[i]=new JButton(Operation[i]);
              operation[i].addActionListener(this);
              operation[i].setBackground(Color.white);
              p2.add(operation[i]); 
              
         }
         
        JLabel label1 = new JLabel ("jieguo:");
         JButton c=new JButton("clear");
         c.setBackground(Color.CYAN);
         c.addActionListener(this);
         p3.add(label1);
         p3.add(resultText);
         p3.add(c);
    }
    
      public void actionPerformed(ActionEvent e)
      {
            String label= e.getActionCommand();
            if(label.equals("clear"))
                 resultText.setText("");
            else if("0123456789.".indexOf(label)>=0)
                handleNumber(label);
            else 
                handleOperator(label);
            
            
       }
       private void handleNumber(String button)
       {
            if(input)
                resultText.setText(button);
            else if((button.equals("."))&&(resultText.getText().indexOf(".")<0))
                resultText.setText(resultText.getText()+".");
            else if(!button.equals("."))
                resultText.setText(resultText.getText()+button);
                    
                   
            input=false;
                    
        }
       
       private void handleOperator(String button)
       {
                if(result.equals("/"))
                    resultNum /=getNumberFromText();
                else if(result.equals("+"))
                     resultNum +=getNumberFromText();
                else if(result.equals("-"))
                     resultNum -=getNumberFromText();
                else if(result.equals("*"))
                     resultNum *=getNumberFromText();
                else if(result.equals("="))
                     resultNum =getNumberFromText();
                
                
                 if(operateValidFlag)
                 {
                  long t1;
                  double t2;
                     t1=(long)resultNum;
                     t2=resultNum-t1;
                     if(t2==0)    resultText.setText(String.valueOf(t1));
                     else  
                          resultText.setText(String.valueOf(resultNum));
                    
                    
                    }
           
                    operateValidFlag=true;
                    
            result=button;
            input=true;
       }
       
         private double getNumberFromText()
         {
              double result=0;
              try
              {
                result=Double.valueOf(resultText.getText()).doubleValue();
              }catch (NumberFormatException e){}
              return result;
            
            }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -