1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      java計算器代碼注釋 java計算器加減乘除代碼

      java 計算器代碼帶括號 求注釋

      //引入各種類文件

      成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),蕪湖縣企業(yè)網(wǎng)站建設(shè),蕪湖縣品牌網(wǎng)站建設(shè),網(wǎng)站定制,蕪湖縣網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,蕪湖縣網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

      import?java.awt.Button;

      import?java.awt.Color;

      import?java.awt.FlowLayout;

      import?java.awt.Font;

      import?java.awt.Frame;

      import?java.awt.GridLayout;

      import?java.awt.Panel;

      import?java.awt.TextField;

      import?java.awt.event.ActionEvent;

      import?java.awt.event.ActionListener;

      //定義JsqFrame繼承Frame

      class?JsqFrame?extends?Frame?{

      double?d1,?d2;??//定義兩個double類型的變量

      int?op?=?-1;??//定義兩個int類型的變量

      static?TextField?tf;//定義靜態(tài)對象TextField

      CalPanelL?p1;??//定義CalPanelL對象

      //?Constructor構(gòu)造方法

      JsqFrame()?{

      //以下設(shè)置屬性

      super("計算器");

      setLayout(new?FlowLayout());

      setResizable(false);

      setSize(250,?250);

      tf?=?new?TextField(18);

      tf.setEditable(false);

      tf.setBackground(Color.lightGray);

      tf.setForeground(Color.red);

      tf.setFont(new?Font("Arial",?Font.BOLD,?16));

      add(tf);

      p1?=?new?CalPanelL();

      add(p1);

      setVisible(true);

      //?addWindowListener(new?Wclose());

      }

      //添加按鈕繼承Button類

      class?CalButton?extends?Button?{

      CalButton(String?s)?{

      //設(shè)置按鈕屬性

      super(s);

      setBackground(Color.WHITE);?//設(shè)置顏色為白色

      }

      }

      //定義顯示器繼承Panel類

      class?CalPanelL?extends?Panel?{

      CalButton?a,?c,?b0,?b1,?b2,?b3,?b4,?b5,?b6,?b7,?b8,?b9,?bPN,?bPoint,

      bAdd,?bSub,?bMul,?bDiv,?bL,?bR,?bLn,?bEqual,?bCE,?bQuit;

      CalPanelL()?{

      //設(shè)置顯示器的屬性

      setLayout(new?GridLayout(6,?4));

      setFont(new?Font("TimesRoman",?Font.BOLD,?16));

      a?=?new?CalButton("");

      c?=?new?CalButton("");

      b0?=?new?CalButton("0");

      b1?=?new?CalButton("1");

      b2?=?new?CalButton("2");

      b3?=?new?CalButton("3");

      b4?=?new?CalButton("4");

      b5?=?new?CalButton("5");

      b6?=?new?CalButton("6");

      b7?=?new?CalButton("7");

      b8?=?new?CalButton("8");

      b9?=?new?CalButton("9");

      bPN?=?new?CalButton("+/-");

      bPoint?=?new?CalButton(".");

      //?設(shè)置按鈕

      bAdd?=?new?CalButton("+");

      bSub?=?new?CalButton("-");

      bMul?=?new?CalButton("*");

      bDiv?=?new?CalButton("/");

      bL?=?new?CalButton("(");

      bR?=?new?CalButton(")");

      bLn?=?new?CalButton("ln");

      bEqual?=?new?CalButton("=");

      bCE?=?new?CalButton("CE");

      bQuit?=?new?CalButton("退出");

      //?加入按鈕

      add(a);

      add(c);

      add(bCE);

      bCE.addActionListener(new?PressBCE());

      add(bQuit);

      bQuit.addActionListener(new?PressBQuit());

      add(b7);

      b7.addActionListener(new?PressB7());

      add(b8);

      b8.addActionListener(new?PressB8());

      add(b9);

      b9.addActionListener(new?PressB9());

      add(bDiv);

      bDiv.addActionListener(new?PressBDiv());

      add(b4);

      b4.addActionListener(new?PressB4());

      add(b5);

      b5.addActionListener(new?PressB5());

      add(b6);

      b6.addActionListener(new?PressB6());

      add(bMul);

      bMul.addActionListener(new?PressBMul());

      add(b1);

      b1.addActionListener(new?PressB1());

      add(b2);

      b2.addActionListener(new?PressB2());

      add(b3);

      b3.addActionListener(new?PressB3());

      add(bSub);

      bSub.addActionListener(new?PressBSub());

      add(b0);

      b0.addActionListener(new?PressB0());

      add(bPoint);

      bPoint.addActionListener(new?PressBPoint());

      add(bPN);

      bPN.addActionListener(new?PressBPN());

      ;

      add(bAdd);

      bAdd.addActionListener(new?PressBAdd());

      add(bL);

      bL.addActionListener(new?PressBL());

      add(bR);

      bR.addActionListener(new?PressBR());

      add(bLn);

      bLn.addActionListener(new?PressBLn());

      add(bEqual);

      bEqual.addActionListener(new?PressBEqual());

      }

      }

      //定義PressBAdd實現(xiàn)ActionListener

      //大體的意思是按計算機(jī)按鍵的時出發(fā)的時間,設(shè)置按鍵的監(jiān)聽[加號的監(jiān)聽事件]

      class?PressBAdd?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      try?{

      String?d1?=?tf.getText();

      op?=?0;

      tf.setText(d1?+?"+");

      }?catch?(Exception?ee)?{

      }

      }

      }

      //定義PressBSub實現(xiàn)ActionListener

      //大體的意思是按計算機(jī)按鍵的時出發(fā)的時間,設(shè)置按鍵的監(jiān)聽[減號的監(jiān)聽事件]

      class?PressBSub?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      try?{

      String?d1?=?tf.getText();

      op?=?1;

      tf.setText(d1?+?"-");

      }?catch?(Exception?ee)?{

      }

      }

      }

      //定義PressBMul實現(xiàn)ActionListener

      //大體的意思是按計算機(jī)按鍵的時出發(fā)的時間,設(shè)置按鍵的監(jiān)聽[乘號的監(jiān)聽事件]

      class?PressBMul?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      try?{

      String?d1?=?tf.getText();

      op?=?2;

      tf.setText(d1?+?"*");

      }?catch?(Exception?ee)?{

      }

      }

      }

      //定義PressBDiv實現(xiàn)ActionListener

      //大體的意思是按計算機(jī)按鍵的時出發(fā)的時間,設(shè)置按鍵的監(jiān)聽[除號的監(jiān)聽事件]

      class?PressBDiv?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      try?{

      String?d1?=?tf.getText();

      op?=?3;

      tf.setText(d1?+?"/");

      }?catch?(Exception?ee)?{

      }

      }

      }

      //定義PressBL實現(xiàn)ActionListener

      //大體的意思是按計算機(jī)按鍵的時出發(fā)的時間,設(shè)置按鍵的監(jiān)聽[向左鍵的監(jiān)聽事件]

      class?PressBL?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      try?{

      String?d1?=?tf.getText();

      op?=?3;

      tf.setText(d1?+?"(");

      }?catch?(Exception?ee)?{

      }

      }

      }

      //定義PressBR實現(xiàn)ActionListener

      //大體的意思是按計算機(jī)按鍵的時出發(fā)的時間,設(shè)置按鍵的監(jiān)聽[向右鍵的監(jiān)聽事件]

      class?PressBR?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      try?{

      String?d1?=?tf.getText();

      op?=?3;

      tf.setText(d1?+?")");

      }?catch?(Exception?ee)?{

      }

      }

      }

      //定義PressBEqual實現(xiàn)ActionListener

      //大體的意思是按計算機(jī)按鍵的時出發(fā)的時間,設(shè)置按鍵的監(jiān)聽[等號的監(jiān)聽事件]

      class?PressBEqual?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      try?{

      Jsq?jsq?=?new?Jsq();

      String?s?=?tf.getText();

      System.out.println(s);

      while?(s.indexOf("(")?+?1??0??s.indexOf(")")??0)?{

      String?s1?=?jsq.caculateHigh(s);

      System.out.println(s1);

      s?=?s1;

      }

      String?str?=?jsq.cacluteMain(s);

      System.out.println(str);

      tf.setText(String.valueOf(str));

      }?catch?(Exception?ee)?{

      }

      }

      }

      /*

      *?批量寫吧

      *?以下是按1、2、3等等的監(jiān)聽事件

      *?還有清零的等等監(jiān)聽事件

      */

      class?PressBLn?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      try?{

      double?x?=?Double.parseDouble(tf.getText());

      double?y;

      y?=?Math.log10(x);

      tf.setText(y?+?"");

      }?catch?(Exception?ee)?{

      }

      }

      }

      class?PressBCE?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      tf.setText("");

      }

      }

      class?PressBPN?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      try?{

      String?text?=?tf.getText();

      if?(text?!=?"")?{

      if?(text.charAt(0)?==?'-')

      tf.setText(text.substring(1));

      else?if?(text.charAt(0)?=?'0'??text.charAt(0)?=?'9')

      tf.setText("-"?+?text.substring(0));

      else?if?(text.charAt(0)?==?'.')

      tf.setText("-0"?+?text.substring(0));

      }

      }?catch?(Exception?ee)?{

      }

      }

      }

      class?PressBPoint?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      String?text?=?tf.getText();

      if?(text.lastIndexOf(".")?==?-1)

      tf.setText(text?+?".");

      }

      }

      class?PressB0?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      String?text?=?tf.getText();

      tf.setText(text?+?"0");

      }

      }

      class?PressB1?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      String?text?=?tf.getText();

      tf.setText(text?+?"1");

      }

      }

      class?PressB2?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      String?text?=?tf.getText();

      tf.setText(text?+?"2");

      }

      }

      class?PressB3?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      String?text?=?tf.getText();

      tf.setText(text?+?"3");

      }

      }

      class?PressB4?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      String?text?=?tf.getText();

      tf.setText(text?+?"4");

      }

      }

      class?PressB5?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      String?text?=?tf.getText();

      tf.setText(text?+?"5");

      }

      }

      class?PressB6?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      String?text?=?tf.getText();

      tf.setText(text?+?"6");

      }

      }

      class?PressB7?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      String?text?=?tf.getText();

      tf.setText(text?+?"7");

      }

      }

      class?PressB8?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      String?text?=?tf.getText();

      tf.setText(text?+?"8");

      }

      }

      class?PressB9?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      String?text?=?tf.getText();

      tf.setText(text?+?"9");

      }

      }

      class?PressBQuit?implements?ActionListener?{

      public?void?actionPerformed(ActionEvent?e)?{

      System.exit(0);

      }

      }

      public?void?Js()?{

      String?text?=?tf.getText();

      tf.setText(text);

      }

      }

      用JAVA編一個計算器的程序,要里邊的注釋

      package counter;

      import java.awt.*;

      import java.awt.event.*;

      import javax.swing.*;

      public class Counter implements ActionListener {

      JFrame counter = null;

      Container cou = null;

      JTextField txt = null;

      JPanel pan = null;

      JButton [] btn = null;

      JLabel lblbrand = null,lbltype = null;

      String sign = "",sign1 = "0",sign2 = "",sign3 = "";

      char operator = ' ', operator1 = '+';

      int i = 0;

      double resault = 0;

      int b = 0;

      public Counter() {

      counter = new JFrame("計算器");

      cou = counter.getContentPane();

      cou.setLayout(null);

      lblbrand = new JLabel("大象牌");

      lblbrand.setForeground(Color.BLUE);

      lblbrand.setBounds(15,8,70,20);

      cou.add(lblbrand);

      lbltype = new JLabel("x-14250");

      lbltype.setForeground(Color.GREEN);

      lbltype.setBounds(265,8,70,20);

      cou.add(lbltype);

      txt = new JTextField("0.");

      txt.setCaretPosition(2);

      txt.setHorizontalAlignment(JTextField.TRAILING);

      cou.add(txt);

      txt.setBounds(15,28,300,30);

      pan = new JPanel(new GridLayout(5,4,10,10));

      pan.setBounds(15,68,300,160);

      btn = new JButton[20];

      String [] btnname = {"Off","Back","C","Exit","7","8","9","+","4","5",

      "6","-","1","2","3","*","0",".","=","/"};

      for(int i = 0; i 20; i++)

      {

      btn[i] = new JButton(btnname[i]);

      pan.add(btn[i]);

      btn[i].addActionListener(this);

      }

      btn[7].setFont(new java.awt.Font("宋體", Font.PLAIN, 16));

      btn[11].setFont(new java.awt.Font("宋體", Font.PLAIN, 16));

      btn[15].setFont(new java.awt.Font("宋體", Font.PLAIN, 16));

      btn[17].setFont(new java.awt.Font("宋體", Font.PLAIN, 16));

      btn[18].setFont(new java.awt.Font("宋體", Font.PLAIN, 16));

      btn[19].setFont(new java.awt.Font("宋體", Font.PLAIN, 16));

      cou.add(pan);

      counter.setSize(335,280);

      counter.setVisible(true);

      }

      public void actionPerformed(ActionEvent e) {

      operator = e.getActionCommand().charAt(0);

      annal();

      if(!sign.equals(""))

      opinion(sign);

      else

      showresault(sign1);

      if(i % 2 != 0)

      txt.setText("");

      }

      private void annal(){

      int l = 0;

      switch (operator) {

      case '1':

      case '2':

      case '3':

      case '4':

      case '5':

      case '6':

      case '7':

      case '8':

      case '9':

      if (!sign.equals("0"))

      sign = sign + Character.toString(operator);

      else

      sign = sign.concat(Character.toString(operator)).substring(1);

      break;

      case '0':

      if (!sign.equals("") !sign.equals("0"))

      sign = sign + Character.toString(operator);

      else

      sign = "0";

      break;

      case 'B':

      if (sign.length() 1 sign.charAt(txt.getText().length() - 1) != '.') {

      sign = (sign.substring(0,sign.length() - 1));

      } else if (sign.length() 2) {

      sign = (sign.substring(0,sign.length() - 2));

      } else {

      sign = "0";

      }

      break;

      case 'C':

      sign = "";

      sign2 = "";

      sign1 = "0";

      operator = ' ';

      break;

      case 'E':

      System.exit(0);

      break;

      case 'O':

      sign = "";

      sign2 = "";

      sign1 = "0";

      operator = ' ';

      i++;

      break;

      case '+':

      case '-':

      case '*':

      case '/':

      count();

      break;

      case '=':

      count();

      operator1 = ' ';

      sign3 = "-1";

      break;

      case '.':

      if (sign.equals("")) {

      sign = "0".concat(Character.toString(operator));

      } else {

      for (int i = 0; i sign.length(); i++) {

      if (sign.charAt(i) == '.') {

      l++;

      }

      }

      if (l == 0) {

      sign = sign + Character.toString(operator);

      }

      }

      break;

      }

      }

      private void count(){

      double number1 = 0,number2 = 0;

      if (!sign.equals(""))

      sign2 = sign;

      else

      sign2 = "0";

      sign = "";

      if (!sign3.equals("-1"))

      sign3 = sign1;

      else

      sign3 = "0";

      number1 = Double.valueOf(sign3).doubleValue();

      number2 = Double.valueOf(sign2).doubleValue();

      switch(operator1){

      case '+':

      resault = number1 + number2;

      break;

      case '-':

      resault = number1 - number2;

      break;

      case '*':

      resault = number1 * number2;

      break;

      case '/':

      resault = number1 / number2;

      break;

      case ' ':

      resault = Double.valueOf(sign2).doubleValue();

      }

      operator1 = operator;

      sign1 = Double.toString(resault);

      }

      private void showresault(String sign) {

      int j = sign.length() - 1;

      String subsign = "";

      for (int i = 0; i = j; i++) {

      if (sign.charAt(i) == '.')

      {

      j = i;

      break;

      }

      }

      if (j != sign.length() - 1) {

      subsign = sign.substring(j+1);

      if (Double.valueOf(subsign).doubleValue() 0)

      txt.setText(sign);

      else

      txt.setText(sign.substring(0, j));

      }

      else

      txt.setText(sign);

      }

      private void opinion(String sign){

      txt.setText(sign);

      }

      public static void main(String[] args) {

      Counter counter = new Counter();

      }

      }

      這個是以前自己做的一個計算器,可能不是很完善,注釋沒寫,但代碼相對簡單,應(yīng)該可以看明白

      java 計算器代碼

      import javax.swing.*;

      import javax.swing.border.Border;

      import java.awt.*;

      import java.awt.event.ActionListener;

      import java.awt.event.ActionEvent;

      import java.math.BigDecimal;

      import java.math.RoundingMode;

      import java.util.HashMap;

      /**

      * 我的計算器。Cheshi 繼承于 JFrame,是計算器的界面

      c*/

      public class Cheshi extends JFrame {

      private Border border = BorderFactory.createEmptyBorder(5, 5, 5, 5);

      private JTextField textbox = new JTextField("0");

      private CalculatorCore core = new CalculatorCore();

      private ActionListener listener = new ActionListener() {

      public void actionPerformed(ActionEvent e) {

      JButton b = (JButton) e.getSource();

      String label = b.getText();

      String result = core.process(label);

      textbox.setText(result);

      }

      };

      public Cheshi(String title) throws HeadlessException {

      super(title); // 調(diào)用父類構(gòu)造方法

      setupFrame(); // 調(diào)整窗體屬性

      setupControls(); // 創(chuàng)建控件

      }

      private void setupControls() {

      setupDisplayPanel(); // 創(chuàng)建文本面板

      setupButtonsPanel(); // 創(chuàng)建按鈕面板

      }

      // 創(chuàng)建按鈕面板并添加按鈕

      private void setupButtonsPanel() {

      JPanel panel = new JPanel();

      panel.setBorder(border);

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

      createButtons(panel, new String[]{

      "7", "8", "9", "+", "C",

      "4", "5", "6", "-", "CE",

      "1", "2", "3", "*", "", // 空字符串表示這個位置沒有按鈕

      "0", ".", "=", "/", ""

      });

      this.add(panel, BorderLayout.CENTER);

      }

      /**

      * 在指定的面板上創(chuàng)建按鈕

      *

      * @param panel 要創(chuàng)建按鈕的面板

      * @param labels 按鈕文字

      */

      private void createButtons(JPanel panel, String[] labels) {

      for (String label : labels) {

      // 如果 label 為空,則表示創(chuàng)建一個空面板。否則創(chuàng)建一個按鈕。

      if (label.equals("")) {

      panel.add(new JPanel());

      } else {

      JButton b = new JButton(label);

      b.addActionListener(listener); // 為按鈕添加偵聽器

      panel.add(b);

      }

      }

      }

      // 設(shè)置顯示面板,用一個文本框來作為計算器的顯示部分。

      private void setupDisplayPanel() {

      JPanel panel = new JPanel();

      panel.setLayout(new BorderLayout());

      panel.setBorder(border);

      setupTextbox();

      panel.add(textbox, BorderLayout.CENTER);

      this.add(panel, BorderLayout.NORTH);

      }

      // 調(diào)整文本框

      private void setupTextbox() {

      textbox.setHorizontalAlignment(JTextField.RIGHT); // 文本右對齊

      textbox.setEditable(false); // 文本框只讀

      textbox.setBackground(Color.white); // 文本框背景色為白色

      }

      // 調(diào)整窗體

      private void setupFrame() {

      this.setDefaultCloseOperation(EXIT_ON_CLOSE); // 當(dāng)窗體關(guān)閉時程序結(jié)束

      this.setLocation(100, 50); // 設(shè)置窗體顯示在桌面上的位置

      this.setSize(300, 200); // 設(shè)置窗體大小

      this.setResizable(false); // 窗體大小固定

      }

      // 程序入口

      public static void main(String[] args) throws Exception {

      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

      Cheshi frame = new Cheshi("我的計算器");

      frame.setVisible(true); // 在桌面上顯示窗體

      }

      }

      /**

      * 計算器核心邏輯。這個邏輯只能處理 1~2 個數(shù)的運算。

      */

      class CalculatorCore {

      private String displayText = "0"; // 要顯示的文本

      boolean reset = true;

      private BigDecimal number1, number2;

      private String operator;

      private HashMapString, Operator operators = new HashMapString, Operator();

      private HashMapString, Processor processors = new HashMapString, Processor();

      CalculatorCore() {

      setupOperators();

      setupProcessors();

      }

      // 為每種命令添加處理方式

      private void setupProcessors() {

      processors.put("[0-9]", new Processor() {

      public void calculate(String command) {

      numberClicked(command);

      }

      });

      processors.put("\\.", new Processor() {

      public void calculate(String command) {

      dotClicked();

      }

      });

      processors.put("=", new Processor() {

      public void calculate(String command) {

      equalsClicked();

      }

      });

      processors.put("[+\\-*/]", new Processor() {

      public void calculate(String command) {

      operatorClicked(command);

      }

      });

      processors.put("C", new Processor() {

      public void calculate(String command) {

      clearClicked();

      }

      });

      processors.put("CE", new Processor() {

      public void calculate(String command) {

      clearErrorClicked();

      }

      });

      }

      // 為每種 operator 添加處理方式

      private void setupOperators() {

      operators.put("+", new Operator() {

      public BigDecimal process(BigDecimal number1, BigDecimal number2) {

      return number1.add(number2);

      }

      });

      operators.put("-", new Operator() {

      public BigDecimal process(BigDecimal number1, BigDecimal number2) {

      return number1.subtract(number2);

      }

      });

      operators.put("*", new Operator() {

      public BigDecimal process(BigDecimal number1, BigDecimal number2) {

      return number1.multiply(number2);

      }

      });

      operators.put("/", new Operator() {

      public BigDecimal process(BigDecimal number1, BigDecimal number2) {

      return number1.divide(number2, 30, RoundingMode.HALF_UP);

      }

      });

      }

      // 根據(jù)命令處理。這里的命令實際上就是按鈕文本。

      public String process(String command) {

      for (String pattern : processors.keySet()) {

      if (command.matches(pattern)) {

      processors.get(pattern).calculate(command);

      break;

      }

      }

      return displayText;

      }

      // 當(dāng)按下 CE 時

      private void clearErrorClicked() {

      if (operator == null) {

      number1 = null;

      } else {

      number2 = null;

      }

      displayText = "0";

      reset = true;

      }

      // 當(dāng)按下 C 時,將計算器置為初始狀態(tài)。

      private void clearClicked() {

      number1 = null;

      number2 = null;

      operator = null;

      displayText = "0";

      reset = true;

      }

      // 當(dāng)按下 = 時

      private void equalsClicked() {

      calculateResult();

      number1 = null;

      number2 = null;

      operator = null;

      reset = true;

      }

      // 計算結(jié)果

      private void calculateResult() {

      number2 = new BigDecimal(displayText);

      Operator oper = operators.get(operator);

      if (oper != null) {

      BigDecimal result = oper.process(number1, number2);

      displayText = result.toString();

      }

      }

      // 當(dāng)按下 +-*/ 時(這里也可以擴(kuò)展成其他中間操作符)

      private void operatorClicked(String command) {

      if (operator != null) {

      calculateResult();

      }

      number1 = new BigDecimal(displayText);

      operator = command;

      reset = true;

      }

      // 當(dāng)按下 . 時

      private void dotClicked() {

      if (displayText.indexOf(".") == -1) {

      displayText += ".";

      } else if (reset) {

      displayText = "0.";

      }

      reset = false;

      }

      // 當(dāng)按下 0-9 時

      private void numberClicked(String command) {

      if (reset) {

      displayText = command;

      } else {

      displayText += command;

      }

      reset = false;

      }

      // 運算符處理接口

      interface Operator {

      BigDecimal process(BigDecimal number1, BigDecimal number2);

      }

      // 按鈕處理接口

      interface Processor {

      void calculate(String command);

      }

      }

      哪位高手幫忙注釋一個Java程序,計算器

      public void actionPerformed(ActionEvent e)

      {

      String label=e.getActionCommand();//返回動作的按鈕標(biāo)簽并將其賦給label

      if(label=="C") //這個有問題,怎么也得用equals方法吧

      handleC();//當(dāng)用戶點擊C,調(diào)用handleC方法

      else if("0123456789.".indexOf(label)=0)// 如果label中包含“0123456789.”

      {handleNumber(label);

      }

      else

      handleOperator(label);

      }


      標(biāo)題名稱:java計算器代碼注釋 java計算器加減乘除代碼
      文章起源:http://ef60e0e.cn/article/doshpde.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        图木舒克市| 襄垣县| 于田县| 德江县| 精河县| 朝阳市| 洪江市| 尼木县| 离岛区| 万全县| 镶黄旗| 大同市| 吉林市| 塔河县| 嵊泗县| 沈阳市| 洪泽县| 乌兰察布市| 山东| 宁国市| 景东| 梅河口市| 临安市| 辉南县| 贵阳市| 革吉县| 闻喜县| 讷河市| 门头沟区| 离岛区| 澄迈县| 含山县| 沂源县| 宁蒗| 榆树市| 浮山县| 都江堰市| 卢氏县| 闵行区| 甘谷县| 上饶县|