亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? calculator.java

?? 用java編寫的科學計算器
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
//frame版程序源代碼如下,疏漏之處,望批評指正。
//數字分組沒有編寫,科學型計算器沒有編寫,其他已經完善。
import java.awt.*;
import java.lang.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.text.DecimalFormat;
public class Calculator implements ActionListener { //導入動作監聽接口
  //設計面板中的單位
  JFrame frame;
  JTextField textAnswer;
  JPanel panel, panel1, panel2, panel3;
  JMenuBar mainMenu;
  JTextField textMemory;
  JLabel labelMemSpace; //labelMemSpace單純做擺設,控制面板的形狀
  JButton buttonBk, buttonCe, buttonC;
  JButton button[];
  JButton buttonMC, buttonMR, buttonMS, buttonMAdd;
  JButton buttonDot, buttonAddAndSub, buttonAdd, buttonSub, buttonMul,
      buttonDiv, buttonMod;
  JButton buttonSqrt, buttonDao, buttonEqual;
  JMenu editMenu, viewMenu, helpMenu;
  JMenuItem copyItem, pasteItem, tItem, sItem, numberGroup, topHelp, aboutCal;
  DecimalFormat df; //設置數據輸出精度
  boolean clickable; //控制當前能否按鍵
  double memoryd; //使用內存中存儲的數字
  int memoryi;
  double vard, answerd; //用來保存double型數據的中間值(vard)和最后結果(answerd)
  short key = -1, prekey = -1; //key用來保存當前進行何種運算,prekey用來保存前次進行何種運算
  String copy; //做復制用
  JTextArea help; //幫助
  JScrollPane scrollHelp;
  //構造函數
  public Calculator() {
    clickable = true;
    answerd = 0;
    frame = new JFrame("計算器");
    df = new DecimalFormat("0.##############"); //設置數據輸出精度(對于double型值)
    textAnswer = new JTextField(15);
    textAnswer.setText("");
    textAnswer.setEditable(false);
    textAnswer.setBackground(new Color(255, 255, 255));
    panel = new JPanel();
    frame.getContentPane().add(panel);
    panel1 = new JPanel();
    panel2 = new JPanel();
    panel.setLayout(new BorderLayout());
    //設計整個面板
    mainMenu = new JMenuBar();
    editMenu = new JMenu("編輯(E)");
    viewMenu = new JMenu("查看(V)");
    helpMenu = new JMenu("幫助(H)");
    copyItem = new JMenuItem("   復制(C) Ctrl+C");
    copyItem.addActionListener(this);
    pasteItem = new JMenuItem("   粘貼(V) Ctrl+V");
    pasteItem.addActionListener(this);
    editMenu.add(copyItem);
    editMenu.add(pasteItem);
    tItem = new JMenuItem("●標準型(T)");
    tItem.addActionListener(this);
    sItem = new JMenuItem("   科學型(S)");
    sItem.addActionListener(this);
    numberGroup = new JMenuItem("   數字分組(I)");
    numberGroup.addActionListener(this);
    viewMenu.add(tItem);
    viewMenu.add(sItem);
    viewMenu.add(numberGroup);
    topHelp = new JMenuItem("   幫助主題(H)");
    topHelp.addActionListener(this);
    help = new JTextArea(5, 20);
    scrollHelp = new JScrollPane(help);
    help.setEditable(false);
    help.append("執行簡單計算\n");
    help.append("1.  鍵入計算的第一個數字。\n");
    help.append("2.  單擊“+”執行加、“-”執行減、“*”執行乘或“/”執行除。\n");
    help.append("3.  鍵入計算的下一個數字。\n");
    help.append("4.  輸入所有剩余的運算符和數字。\n");
    help.append("5.  單擊“=”。\n");
    aboutCal = new JMenuItem("   關于計算器(A)");
    aboutCal.addActionListener(this);
    helpMenu.add(topHelp);
    helpMenu.add(aboutCal);
    mainMenu.add(editMenu);
    mainMenu.add(viewMenu);
    mainMenu.add(helpMenu);
    panel.add(mainMenu, BorderLayout.NORTH);
    panel.add(textAnswer, BorderLayout.CENTER);
    panel.add(panel1, BorderLayout.SOUTH);
    panel1.setLayout(new BorderLayout());
    textMemory = new JTextField(3);
    textMemory.setEditable(false);
    textMemory.setBackground(new Color(217, 217, 217));
    labelMemSpace = new JLabel("                   ");
    buttonBk = new JButton("Backspace");
    buttonBk.setForeground(new Color(255, 0, 0));
    buttonCe = new JButton("CE");
    buttonCe.setForeground(new Color(255, 0, 0));
    buttonC = new JButton("C");
    buttonC.setForeground(new Color(255, 0, 0));
    buttonBk.addActionListener(this);
    buttonCe.addActionListener(this);
    buttonC.addActionListener(this);
    panel1.add(panel2, BorderLayout.NORTH);
    panel2.setLayout(new FlowLayout(FlowLayout.RIGHT));
    panel2.add(textMemory);
    panel2.add(labelMemSpace);
    panel2.add(buttonBk);
    panel2.add(buttonCe);
    panel2.add(buttonC);
    panel3 = new JPanel();
    panel1.add(panel3, BorderLayout.CENTER);
    button = new JButton[10];
    for (int i = 0; i < button.length; i++) {
      button[i] = new JButton(Integer.toString(i));
      button[i].setForeground(new Color(0, 0, 255));
    }
    buttonMC = new JButton("MC");
    buttonMC.setForeground(new Color(255, 0, 0));
    buttonMR = new JButton("MR");
    buttonMR.setForeground(new Color(255, 0, 0));
    buttonMS = new JButton("MS");
    buttonMS.setForeground(new Color(255, 0, 0));
    buttonMAdd = new JButton("M+");
    buttonMAdd.setForeground(new Color(255, 0, 0));
    buttonDot = new JButton(".");
    buttonDot.setForeground(new Color(0, 0, 255));
    buttonAddAndSub = new JButton("+/-");
    buttonAddAndSub.setForeground(new Color(0, 0, 255));
    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));
    buttonMod = new JButton("%");
    buttonMod.setForeground(new Color(0, 0, 255));
    buttonSqrt = new JButton("sqrt");
    buttonSqrt.setForeground(new Color(0, 0, 255));
    buttonDao = new JButton("1/x");
    buttonDao.setForeground(new Color(0, 0, 255));
    buttonEqual = new JButton("=");
    buttonEqual.setForeground(new Color(255, 0, 0));
    //將所有行為與監聽綁定
    panel3.setLayout(new GridLayout(4, 6));
    panel3.add(buttonMC);
    buttonMC.addActionListener(this);
    panel3.add(button[7]);
    button[7].addActionListener(this);
    panel3.add(button[8]);
    button[8].addActionListener(this);
    panel3.add(button[9]);
    button[9].addActionListener(this);
    panel3.add(buttonDiv);
    buttonDiv.addActionListener(this);
    panel3.add(buttonSqrt);
    buttonSqrt.addActionListener(this);
    panel3.add(buttonMR);
    buttonMR.addActionListener(this);
    panel3.add(button[4]);
    button[4].addActionListener(this);
    panel3.add(button[5]);
    button[5].addActionListener(this);
    panel3.add(button[6]);
    button[6].addActionListener(this);
    panel3.add(buttonMul);
    buttonMul.addActionListener(this);
    panel3.add(buttonMod);
    buttonMod.addActionListener(this);
    panel3.add(buttonMS);
    buttonMS.addActionListener(this);
    panel3.add(button[1]);
    button[1].addActionListener(this);
    panel3.add(button[2]);
    button[2].addActionListener(this);
    panel3.add(button[3]);
    button[3].addActionListener(this);
    panel3.add(buttonSub);
    buttonSub.addActionListener(this);
    panel3.add(buttonDao);
    buttonDao.addActionListener(this);
    panel3.add(buttonMAdd);
    buttonMAdd.addActionListener(this);
    panel3.add(button[0]);
    button[0].addActionListener(this);
    panel3.add(buttonAddAndSub);
    buttonAddAndSub.addActionListener(this);
    panel3.add(buttonDot);
    buttonDot.addActionListener(this);
    panel3.add(buttonAdd);
    buttonAdd.addActionListener(this);
    panel3.add(buttonEqual);
    buttonEqual.addActionListener(this);
    frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
    frame.pack();
    frame.show();
  }
  //設置各個按鈕行為
  public void actionPerformed(ActionEvent event) {
    boolean sign = false; //判斷是否是double型數參與運算,是為true,不是為false
    Object temp = event.getSource();
    try {
      //如果按下數據按鈕,將按下的按鈕代表的數據插入的當前文本框字符串之后
      for (int i = 0; i <= 9; i++)
        if (temp == button[i] && clickable == true)
          textAnswer.setText(textAnswer.getText() + Integer.toString(i));
          //按下'.'按鈕時,判斷當前文本框內字符串中含不含'.',如果已含,則不允許再插入'.'
      if (temp == buttonDot && clickable == true) {
        boolean isDot = false;
        if (textAnswer.getText().length() == 0)
          isDot = true;
        for (int i = 0; i < textAnswer.getText().length(); i++)
          if ('.' == textAnswer.getText().charAt(i)) {
            isDot = true;
            break;
          }
        if (isDot == false)
          textAnswer.setText(textAnswer.getText() + ".");
      }
      if ( (temp == buttonAdd || temp == buttonSub || temp == buttonMul ||
            temp == buttonDiv) && clickable == true) {
        //'+'操作
        if (temp == buttonAdd) {
          switch (prekey) {
            case 0:
              answerd += Double.parseDouble(textAnswer.getText());
              break;
            case 1:
              answerd -= Double.parseDouble(textAnswer.getText());
              break;
            case 2:
              answerd *= Double.parseDouble(textAnswer.getText());
              break;
            case 3:
              if (Double.parseDouble(textAnswer.getText()) == 0) {
                textAnswer.setText("除數不能為零");
                clickable = false;
              }
              else
                answerd /= Double.parseDouble(textAnswer.getText());
              break;
            default:
              answerd = Double.parseDouble(textAnswer.getText());
          }
          textAnswer.setText("");
          prekey = key = 0;
        }
        //'-'操作
        if (temp == buttonSub) {
          switch (prekey) {
            case 0:
              answerd += Double.parseDouble(textAnswer.getText());
              break;
            case 1:
              answerd -= Double.parseDouble(textAnswer.getText());
              break;
            case 2:
              answerd *= Double.parseDouble(textAnswer.getText());
              break;
            case 3:
              if (Double.parseDouble(textAnswer.getText()) == 0) {
                textAnswer.setText("除數不能為零");
                clickable = false;
              }
              else
                answerd /= Double.parseDouble(textAnswer.getText());
              break;
            default:
              answerd = Double.parseDouble(textAnswer.getText());
          }
          textAnswer.setText("");
          prekey = key = 1;
        }
        //'*'操作
        if (temp == buttonMul) {
          switch (prekey) {
            case 0:
              answerd += Double.parseDouble(textAnswer.getText());
              break;
            case 1:
              answerd -= Double.parseDouble(textAnswer.getText());
              break;
            case 2:
              answerd *= Double.parseDouble(textAnswer.getText());
              break;
            case 3:
              if (Double.parseDouble(textAnswer.getText()) == 0) {
                textAnswer.setText("除數不能為零");
                clickable = false;
              }
              else
                answerd /= Double.parseDouble(textAnswer.getText());
              break;
            default:
              answerd = Double.parseDouble(textAnswer.getText());
          }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人一区二区三区视频在线观看| 国产高清久久久| 亚洲精品v日韩精品| 国产精品高潮呻吟| 国产精品福利影院| 亚洲人成7777| 亚洲h动漫在线| 麻豆精品久久精品色综合| 精品一区二区国语对白| 韩国三级电影一区二区| 成人在线视频一区| 91麻豆自制传媒国产之光| 色8久久精品久久久久久蜜| 欧美综合一区二区| 欧美一区二区高清| 久久久久久久综合狠狠综合| 中文字幕 久热精品 视频在线| ...av二区三区久久精品| 一区二区三区欧美在线观看| 日av在线不卡| 成人午夜精品在线| 欧美日韩一二三| 久久久久久久综合狠狠综合| 亚洲美女一区二区三区| 午夜伦欧美伦电影理论片| 国产主播一区二区| 色婷婷综合久久久中文一区二区| 3d成人h动漫网站入口| 国产欧美日韩精品一区| 亚洲一区二区偷拍精品| 国产自产视频一区二区三区| 91香蕉国产在线观看软件| 91精品国产综合久久精品图片| 久久久电影一区二区三区| 亚洲欧美激情小说另类| 精品一区二区三区视频| 欧美亚日韩国产aⅴ精品中极品| 精品剧情v国产在线观看在线| 国产精品成人免费在线| 久久99国产乱子伦精品免费| 99精品视频在线播放观看| 精品三级av在线| 亚洲图片欧美一区| 99v久久综合狠狠综合久久| 欧美mv和日韩mv国产网站| 亚洲精品视频观看| 成人国产在线观看| 久久这里只有精品6| 日韩成人一级大片| 日本高清不卡一区| 国产人成亚洲第一网站在线播放 | www.亚洲国产| 欧美xxxx老人做受| 婷婷成人激情在线网| 99久久精品99国产精品| 久久久久久久久久看片| 免费久久99精品国产| 欧美日韩精品一区视频| 亚洲综合免费观看高清完整版| 岛国精品一区二区| 久久婷婷国产综合精品青草| 日韩黄色一级片| 欧洲精品一区二区| 亚洲激情五月婷婷| 91看片淫黄大片一级| 国产精品久线在线观看| 成人国产精品免费网站| 中文欧美字幕免费| 国产成人精品三级| 国产日韩精品一区二区浪潮av| 老司机精品视频导航| 精品美女在线观看| 国产精品一区二区你懂的| 久久久久久久久久久99999| 国产综合色在线视频区| 2017欧美狠狠色| 国产99久久久精品| 亚洲欧美综合网| 色综合天天做天天爱| 亚洲欧美色一区| 在线观看国产日韩| 日本不卡在线视频| 久久看人人爽人人| 成人午夜电影久久影院| 国产精品第13页| 91福利资源站| 美女网站在线免费欧美精品| 精品久久久三级丝袜| 成人免费视频caoporn| 亚洲美女在线一区| 欧美精品第一页| 国产精品一卡二卡在线观看| 国产精品乱码人人做人人爱 | 丁香天五香天堂综合| 国产精品国产馆在线真实露脸| 色婷婷国产精品久久包臀| 日韩精品一二区| 久久久影视传媒| 色猫猫国产区一区二在线视频| 亚洲影院理伦片| 2021国产精品久久精品| 色中色一区二区| 蜜臀a∨国产成人精品| 日本一二三四高清不卡| 欧美美女一区二区三区| 成人黄色在线网站| 五月天丁香久久| 国产欧美日韩激情| 在线播放一区二区三区| 成人性生交大片免费看在线播放| 亚洲一区二区三区四区在线观看 | 成人v精品蜜桃久久一区| 亚洲一区二区三区精品在线| 久久综合色一综合色88| 色婷婷精品久久二区二区蜜臂av| 久久机这里只有精品| 一区二区免费看| 国产欧美视频一区二区| 911精品国产一区二区在线| 成人综合在线视频| 久久精品国产亚洲一区二区三区| 亚洲男人的天堂网| 久久久精品欧美丰满| 91精品国产91久久久久久一区二区| www.日韩av| 国产91精品在线观看| 蜜桃视频在线观看一区| 国产精品久久精品日日| 久久久五月婷婷| 欧美日韩成人在线| 91亚洲国产成人精品一区二三 | 中文在线资源观看网站视频免费不卡 | 欧美特级限制片免费在线观看| 国产成人av电影免费在线观看| 免费在线观看精品| 午夜视频一区在线观看| 亚洲在线观看免费视频| 亚洲精品视频免费看| 亚洲女人小视频在线观看| 欧美国产乱子伦| 国产精品视频在线看| 久久精品亚洲精品国产欧美kt∨ | 精品国产免费一区二区三区香蕉| 欧美日本一道本| 欧美日韩五月天| 在线观看国产91| 色婷婷av久久久久久久| 色噜噜狠狠色综合欧洲selulu| 成人av免费在线播放| 丁香激情综合五月| www.66久久| 色一区在线观看| 欧美视频在线不卡| 欧美色老头old∨ideo| 欧美日韩国产综合一区二区| 欧美精品第1页| 欧美成人三级电影在线| 久久这里只有精品首页| 中文字幕av一区二区三区高| 日韩毛片一二三区| 亚洲在线免费播放| 日本特黄久久久高潮| 韩国av一区二区三区| 成人一区二区三区在线观看| 91丨porny丨国产入口| 欧美午夜精品久久久久久孕妇| 欧美日韩免费电影| 亚洲精品在线观看网站| 国产精品网站一区| 一区二区三区四区五区视频在线观看| 亚洲综合在线五月| 蜜桃av一区二区| 国产麻豆精品在线| 91色视频在线| 91麻豆精品国产| 久久精品一二三| 亚洲综合一区在线| 久久99精品国产.久久久久| av不卡在线观看| 日韩欧美中文字幕公布| 国产精品色在线| 日产国产欧美视频一区精品| 国产99一区视频免费| 欧美三日本三级三级在线播放| 精品国产91洋老外米糕| 中文字幕日韩欧美一区二区三区| 亚洲国产日产av| 丁香婷婷综合激情五月色| 欧美精品免费视频| 国产精品国产三级国产aⅴ原创| 天天av天天翘天天综合网色鬼国产| 国产一区啦啦啦在线观看| 欧美在线影院一区二区| 久久精品一区蜜桃臀影院| 亚洲国产日韩a在线播放| 国产精品99久久久久久有的能看| 欧美日韩久久久一区| 国产精品色哟哟| 国产一区欧美二区| 欧美一区二区视频免费观看|