国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java實現簡單的計算器類實例

2019-11-26 14:56:58
字體:
來源:轉載
供稿:網友

本文實例講述了java實現簡單的計算器類。分享給大家供大家參考。具體如下:

package chap;import java.awt.BorderLayout;import java.awt.Color;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.text.DecimalFormat;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;public class Calculator {  private JFrame frame;  private JPanel panel,panelKeys,panelKeys_up,panelKeys_down;  private JTextField textComputer;//計算區域  private JButton buttonBk,buttonC;//退格鍵和清零鍵  private JButton button[];//數字鍵組  private JButton buttonDot,buttonAddSub,buttonAdd,buttonSub,buttonMul,buttonDiv,button1,button2,button3,buttonEqual;  private double result;//計算結果  private final short ADD = 1;  private final short SUB = 2;  private final short MUL = 3;  private final short DIV = 4;  private short operator = -1;//運算符  public Calculator(){    frame = new JFrame("計算機");    frame.setSize(400, 250);    panel = new JPanel();//全局面板    panel.setVisible(true);    frame.setVisible(true);    frame.getContentPane().add(panel);    ActionListener listener = new ComputerActionListener();//按鍵監聽器    //計算區    textComputer = new JTextField(15);    textComputer.setText("");    textComputer.setEditable(false);    textComputer.setBackground(new Color(255,255,255));    //功能鍵上半部分    panelKeys_up = new JPanel();    panelKeys_up.setLayout(new FlowLayout(FlowLayout.RIGHT));    buttonBk = new JButton("Backspace");    buttonBk.setForeground(new Color(255,0,0));    buttonC = new JButton("C");    buttonC.setForeground(new Color(255,0,0));    buttonBk.addActionListener(listener);    buttonC.addActionListener(listener);    panelKeys_up.add(buttonBk);    panelKeys_up.add(buttonC);    //功能鍵下半部分    panelKeys_down = new JPanel();    panelKeys_down.setLayout(new GridLayout(4,5));    button = new JButton[10];    for(int i = 0;i < button.length;i++){      button[i] = new JButton(Integer.toString(i));      button[i].setForeground(new Color(255,0,0));    }    buttonAddSub = new JButton("+/-");    buttonAddSub.setForeground(new Color(255,0,0));    buttonAdd = new JButton("+");    buttonAdd.setForeground(new Color(255,0,0));    buttonSub = new JButton("-");    buttonSub.setForeground(new Color(255,0,0));    buttonMul = new JButton("*");    buttonMul.setForeground(new Color(255,0,0));    buttonDiv = new JButton("/");    buttonDiv.setForeground(new Color(255,0,0));    button1 = new JButton();    button2 = new JButton();    button3 = new JButton();    button1.setForeground(new Color(255,0,0));    button2.setForeground(new Color(255,0,0));    button3.setForeground(new Color(255,0,0));    buttonEqual = new JButton("=");    buttonEqual.setForeground(new Color(255,0,0));    buttonAddSub.addActionListener(listener);    buttonAdd.addActionListener(listener);    buttonSub.addActionListener(listener);    buttonMul.addActionListener(listener);    buttonDiv.addActionListener(listener);    buttonEqual.addActionListener(listener);    for(int i = 0 ; i <=9 ; i++){      button[i].addActionListener(listener);    }    for(int i = 0 ; i <=9 ; i++){      panelKeys_down.add(button[i]);    }    panelKeys_down.add(buttonAddSub);    panelKeys_down.add(buttonAdd);    panelKeys_down.add(buttonSub);    panelKeys_down.add(buttonMul);    panelKeys_down.add(buttonDiv);    panelKeys_down.add(buttonEqual);    panel.setLayout(new BorderLayout());    panel.add(textComputer,BorderLayout.NORTH);    panel.add(panelKeys_up,BorderLayout.CENTER);    panel.add(panelKeys_down,BorderLayout.SOUTH);  }  class ComputerActionListener implements ActionListener{    @Override    public void actionPerformed(ActionEvent event) {      // TODO Auto-generated method stub      Object keyButton = event.getSource();      String text = textComputer.getText();      DecimalFormat df = new DecimalFormat("0.###########");      //Backspace      if(keyButton == buttonBk && text.length() > 0){        textComputer.setText(text.substring(0,text.length()-1));      }      //C鍵      if(keyButton == buttonC){        result = 0;        textComputer.setText("");      }      //數字鍵      for(int i=0;i<10;i++){        if(keyButton == button[i]){          textComputer.setText(text+i);        }      }      if(keyButton == buttonAdd){        operator = 1;      }      if(keyButton == buttonSub){        operator = 2;      }      if(keyButton == buttonMul){        operator = 3;      }      if(keyButton == buttonDiv){        operator = 4;      }      //符號鍵      if(keyButton == buttonAdd || keyButton == buttonSub || keyButton == buttonMul || keyButton == buttonDiv || keyButton == buttonEqual){        switch(operator){        case ADD:          result += Double.parseDouble(text);          break;        case SUB:          result -=Double.parseDouble(text);          break;        case MUL:          result *=Double.parseDouble(text);          break;        case DIV:          result /=Double.parseDouble(text);          break;        default:          result = Double.parseDouble(text);        }        textComputer.setText("");      }      if(keyButton == buttonEqual){        textComputer.setText(String.valueOf(result));      }    }  }  public static void main(String args[]){    new Calculator();  }}

希望本文所述對大家的java程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 夏邑县| 新巴尔虎右旗| 通城县| 林周县| 谷城县| 灵台县| 历史| 保康县| 鸡泽县| 青龙| 浦北县| 于都县| 迁西县| 永平县| 曲松县| 宜兰县| 邮箱| 四子王旗| 梨树县| 电白县| 漳平市| 龙川县| 黄山市| 焦作市| 区。| 奉贤区| 丹东市| 美姑县| 常州市| 寻甸| 永德县| 桐庐县| 静乐县| 临江市| 石城县| 阳信县| 上蔡县| 长汀县| 桃园市| 伊金霍洛旗| 汝阳县|