简单计算器Java |
您所在的位置:网站首页 › 设计一个计算器类calculator › 简单计算器Java |
主要代码展示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 |