简单计算器Java

您所在的位置:网站首页 设计一个计算器类calculator 简单计算器Java

简单计算器Java

2023-05-28 01:57| 来源: 网络整理| 查看: 265

主要代码展示import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

/**********************定义一个Calculator类*******************/

public class Calculator extends JFrame

{  private JTextField display; 

private JPanel panel; 

private double result=0;  

private String lastCommand="="; 

private boolean begin=true;  

public static void main(String[] args) {   

Calculator frame=new Calculator();  

frame.setVisible(true);  

frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);  

}      

public Calculator() 

{     

panel=new JPanel();      

panel.setLayout(new GridLayout(5,4,5,5)); 

this.setTitle("计算器");  

this.setSize(550,500);   

this.setLocationRelativeTo(null);      

this.setResizable(true); 

this.setLayout(null); 

display= new JTextField("0");

display.setEditable(false);

display.setHorizontalAlignment(display.RIGHT);

display.setBackground(Color.white);

display.setBounds(100,15,300,60); 

this.add(display,"North");

ActionListener input=new inputAction();

ActionListener command=new commandAction();

addButton("7",input);

addButton("8",input);

addButton("9",input);

addButton("+",command);

addButton("4",input);

addButton("5",input);

addButton("6",input);

addButton("-",command);

addButton("1",input);

addButton("2",input);

addButton("3",input); 

addButton("*",command);

addButton("0",input);

addButton(".",input);

addButton("=",command);

addButton("/",command);

panel.setBounds(10,85,520,460);

this.add(panel,"Center");

  }  

public void addButton(String label,ActionListener listener) 

{

JButton button=new JButton(label);

panel.add(button);

button.addActionListener(listener);

}

public class inputAction implements ActionListener {

public void actionPerformed(ActionEvent event)

{

String input=event.getActionCommand();

     if(begin) {

     display.setText("");

     begin=false;

  }

display.setText(display.getText()+input);

}}

public class commandAction implements ActionListener {

public void actionPerformed(ActionEvent event) {

String command=event.getActionCommand();

if(begin) {        

lastCommand=command;

}    

   else {       

showResult(Double.parseDouble(display.getText()));

     lastCommand=command;    

    begin=true;

   }          }   

 public void showResult(double value) {

       if(lastCommand.equals("+"))

  result+=value;

  else if(lastCommand.equals("-"))

   result-=value;

   else if(lastCommand.equals("/")) {

   if(value!=0)

      result/=value;

    else {         display.setText("Error/by zero");     

     begin=false;

      return;

     }      } 

else if(lastCommand.equals("*"))   

     result*=value;

   else if(lastCommand.equals("="))       

 result=value;

    display.setText(String.valueOf(result));    }  }} 作者:洛萝洛咯 https://www.bilibili.com/read/cv23833900?jump_opus=1 出处:bilibili



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3