首页 > 开发 > Java > 正文

java 简单的计算器程序实例代码

2024-07-13 10:09:15
字体:
来源:转载
供稿:网友

java/204931.html">java 简单的计算器程序

实现实例:

import java.awt.*; import java.awt.event.*; import javax.swing.*;   public class Calculator {   public static void main(String[] args)   {    EventQueue.invokeLater(new Runnable()      {       public void run()       {         CalculatorFrame frame = new CalculatorFrame();         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);         frame.setVisible(true);       }      });   } }   /**  * A frame with a calculator panel.  */ class CalculatorFrame extends JFrame {   public CalculatorFrame()   {     setTitle("Calculator");     CalculatorPanel panel=new CalculatorPanel();     add(panel);     pack();   } }   class CalculatorPanel extends JPanel {   private JButton display;     private JPanel panel;     private double result;     private String lastCommand;     private boolean start;   public CalculatorPanel()   {     setLayout(new BorderLayout());          result=0;     lastCommand="=";     start=true;           // add the display     display=new JButton("0");     display.setEnabled(false);     add(display,BorderLayout.NORTH);          ActionListener insert=new InsertAction();     ActionListener command=new CommandAction();          panel=new JPanel();     panel.setLayout(new GridLayout(4,4));           addButton("7", insert);      addButton("8", insert);      addButton("9", insert);      addButton("/", command);        addButton("4", insert);      addButton("5", insert);      addButton("6", insert);      addButton("*", command);        addButton("1", insert);      addButton("2", insert);      addButton("3", insert);      addButton("-", command);        addButton("0", insert);      addButton(".", insert);      addButton("=", command);      addButton("+", command);        add(panel, BorderLayout.CENTER);          }   private void addButton(String label,ActionListener listener)   {     JButton button=new JButton(label);     button.addActionListener(listener);     panel.add(button);   }   /**     * This action inserts the button action string to the end of the display text.     */   private class InsertAction implements ActionListener   {     public void actionPerformed(ActionEvent event)     {       String input=event.getActionCommand();       if(start)       {         display.setText("");         start=false;       }       display.setText(display.getText()+input);     }   }    /**     * This action executes the command that the button action string denotes.     */   private class CommandAction implements ActionListener   {     public void actionPerformed(ActionEvent event)     {       String command=event.getActionCommand();       if(start)       {         if (command.equals("-"))         {           display.setText(command);           start = false;         }         else lastCommand = command;       }else {         calculate(Double.parseDouble(display.getText()));         lastCommand=command;         start=true;       }     }   }   /**     * Carries out the pending calculation.     * @param x the value to be accumulated with the prior result.     */   public void calculate(double x)   {      if (lastCommand.equals("+")) result += x;      else if (lastCommand.equals("-")) result -= x;      else if (lastCommand.equals("*")) result *= x;      else if (lastCommand.equals("/")) result /= x;      else if (lastCommand.equals("=")) result = x;      display.setText("" + result);   } } 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表