1. 程式人生 > 程式設計 >java簡單實現計算器

java簡單實現計算器

本文例項為大家分享了java簡單實現計算器的具體程式碼,供大家參考,具體內容如下

public class Calculator {
 static ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript");

 private static void CreateFrame() {
  JFrame f = new JFrame("計算器");
  f.setSize(600,500);
  f.setVisible(true);
  f.setLayout(new BorderLayout());
  f.setLayout(new GridLayout(6,3));
  f.setLocation(300,150);
  JTextArea text = new JTextArea(20,0);
  f.add(text,BorderLayout.NORTH);
  JButton but1 = new JButton("CE");
  f.add(but1,BorderLayout.PAGE_END);
  String a[] = { "=","7","8","9","4","5","6","1","2","3","0","+","-","*","/","." };
  JButton btn[] = new JButton[a.length];
  for (int i = 0; i < a.length; i++) {
   btn[i] = new JButton(a[i]);
   f.add(btn[i]);
  }
  // 功能實現
  for (int i = 0; i < a.length; i++) {
   // 如果不是等於號
   if (i != 0) {
    int j = i;
    btn[i].addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent e) {
      String s = btn[j].getText();// 獲取文字框內容
      text.append(s);
     }
    });
   } else {
    // 如果點選等於號
    btn[i].addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent e) {
      try {
       // 獲取文字框內容
       String gongshi = text.getText();
       // 計算獲取的文字框中的內容
       String jieguo = jse.eval(gongshi).toString();
       text.setText("=");
       text.setText(jieguo);
      } catch (Exception t) {
       text.setText("");
      }
     }
    });
    // CE按鈕
    but1.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent e) {
      if (e.getSource() == but1) {
       text.setText("");
      }
     }
    });
   }
  }
 }

 public static void main(String[] args) {
  SwingUtilities.invokeLater(Calculator::CreateFrame);
 }
}

效果圖:

java簡單實現計算器

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。