新Emoji工具: 复制✂粘贴表情📝词典

小计算器/适合初学者学习的简单计算器代码

小计算器相关知识 - 适合初学者学习的简单计算器代码


//////////////////////////////////////////////////////////////////////////////////////////////////////
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
import javax.swing.*;


/**
* <p>Title: calculator </p>
* <p>Description: 简单计算器制作</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: </p>
* * @version 1.0
*/


public class calculator extends JFrame implements ActionListener
{
//////////////////////////////////////////////
//设定缺省初始值
//
//
//
//////////////////////////////////////////////
    private double result=0,data1=0,radixPointDepth=1;
    private boolean radixPointIndicate=false,resultIndicate=false;
    private char prec='+';
//////////////////////////////////////////////
//定义组件
//
//
//////////////////////////////////////////////
    JButton addButton             =new JButton("+");
    JButton deductButton          =new JButton("-");
    JButton multiplicationButton  =new JButton("*");
    JButton divisionButton        =new JButton("/");
    JButton pointButton           =new JButton(".");
    JButton equalButton           =new JButton("=");
    JTextField viewText           =new JTextField("0",30);
    //定义数字?
    JButton[] numButton           =new JButton[10];
    static String code;
    void setnumButton()
    {
      for(int i=0;i<10;i++)
      {
//      numButton[i]              =new JButton(new Integer(i).toString());
            numButton[i]                          =new JButton(String.valueOf(i));
      }
    }

//////////////////////////////////////////////
//定义构造方法
//
//
//////////////////////////////////////////////
  public calculator(String title)
  {
    super(title);
    setSize(210,170);
    this.setResizable(false);
    
    setCalculator();
    setActionListener();
  
  }
/*定义setcalculator方法用于添加组件*/
  void setCalculator()
  {


        setnumButton();
    Container c=getContentPane();    
    JPanel mainPanel=new JPanel();
    mainPanel.setLayout(new GridLayout(4,4,10,10));
    mainPanel.setBackground(Color.yellow);
    mainPanel.add(numButton[7]);
    mainPanel.add(numButton[8]);
    mainPanel.add(numButton[9]);
    mainPanel.add(divisionButton);
    mainPanel.add(numButton[4]);
    mainPanel.add(numButton[5]);
    mainPanel.add(numButton[6]);
    mainPanel.add(multiplicationButton);
    mainPanel.add(numButton[1]);
    mainPanel.add(numButton[2]);
    mainPanel.add(numButton[3]);
    mainPanel.add(deductButton);     
    mainPanel.add(numButton[0]);
    mainPanel.add(pointButton);
    mainPanel.add(equalButton);
    mainPanel.add(addButton);   

        viewText.setHorizontalAlignment(JTextField.RIGHT);
        viewText.setEditable(false);
        viewText.setBackground(Color.cyan);
    c.add(viewText,BorderLayout.NORTH);        
    c.add(mainPanel,BorderLayout.CENTER);        
  }

//////////////////////////////////////////////
//定义setActionListener方法
//功能:事件源绑定
//覆盖actionPerformed方法
//
//////////////////////////////////////////////
  void setActionListener()
  {
          for(int i=0;i<10;i++)
          {
                  numButton[i].addActionListener(this);        
          }
          
                addButton.addActionListener(this);
                deductButton.addActionListener(this);
                multiplicationButton.addActionListener(this);
                divisionButton.addActionListener(this);
                pointButton.addActionListener(this);
                equalButton.addActionListener(this);
        

  }
//覆盖actionPerformed方法 
  public void actionPerformed(ActionEvent e){


        String s;        
        s=e.getActionCommand();


         switch(s.charAt(0)){
              case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
                    if(resultIndicate){
                      result=0;
                      data1=0;
                      prec='+';

                   }
                  Integer Int1=new Integer(s); 
                    if(radixPointIndicate){
                     radixPointDepth=radixPointDepth/10;
                     data1=data1+(Int1.intValue())*radixPointDepth;
                  }
                  else{
                      data1=data1*10+(Int1.intValue());
                    }
                  Double displayNumber=new Double(data1);
                    viewText.setText(displayNumber.toString());
                  resultIndicate=false;
                    break;
            
            case '+': case '-':case '*':case '/':case '=':
                    if(s.charAt(0)!='='&&resultIndicate){
                    prec=s.charAt(0);
                    resultIndicate=false;
                  }
                    else{
                    switch(prec){
                            case '+':
                                result=result+data1;
                                break;
                          case '-':
                              result=result-data1;
                              break;
                           case '*':
                               result=result*data1;
                               break;
                            case '/':
                                result=result/data1;
                                break;
                          
                      }
                    }
                    radixPointIndicate=false;
                    radixPointDepth=1;
                    displayNumber=new Double(result);
                    viewText.setText(displayNumber.toString());
                  
                  if(s.charAt(0)!='='){
                      data1=0;
                      prec=s.charAt(0);
                    }  
                    else{
                        resultIndicate=true;
                    }
                    break;

            case '.':
                    radixPointIndicate=true;
                    break;

         }
    
   }

//////////////////////////////////////////////
//主函数
//功能:实例化 显示MyCalculator类的对象
//
//
//
////////////////////////////////////////////// 
  public static void main(String[] args)
  {
        calculator MyCalculator=new calculator("简单计算器");

        MyCalculator.show();
        MyCalculator.setLocation(400,300);
  }
}

关于“小计算器/适合初学者学习的简单计算器代码”的留言:

目前暂无留言

新增相关留言