亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

java實現簡單計算器功能

瀏覽:3日期:2022-08-19 14:22:54

使用java來實現一個簡單的計算器,供大家參考,具體內容如下

最近使用java制作了一個計算器,菜單欄里的功能沒有實現,只是寫一個版式,僅僅實現了計算功能 ,如果想要實現菜單欄功能可自行在該代碼的基礎上去實現。

話不多說直接上代碼

package test;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener; public class calculate extends JFrame implements ActionListener { private Container ct; private JButton[] jbs; private String[] str; private JTextField jTextField; //cal[0]用來存儲第一次輸入的數 //cal[1]用來存儲運算符(+,-,*,/,%) //cal[2]用來存儲第二次輸入的數 //cal[3]用來存儲結果 //cal[4]用來存儲MS鍵所存儲的數 //cal[5]用來獲取要存入的值(用來給cal[4]賦值) private String[] cal = {'','','','','',''}; //_count和_count1始終相反,如果_count為true則表示正在輸入cal[0]反之表示cal[0]輸入完成,該輸入cal[2] //當點過等號后將cal[3]的值賦給cal[0] private boolean _count = true; private boolean _count1 = false; public calculate() { super('計算器'); jbs = new JButton[28]; ct = this.getContentPane(); this.setBounds(100, 100, 315, 400); this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); ct.setLayout(null); //菜單欄 JMenuBar jMenuBar = new JMenuBar(); JMenu jm = new JMenu('查看(V)'); JMenu jm1 = new JMenu('編輯(E)'); JMenu jm2 = new JMenu('幫助(H)'); jMenuBar.add(jm); jMenuBar.add(jm1); jMenuBar.add(jm2); this.setJMenuBar(jMenuBar); //輸出框 jTextField = new JTextField('0'); jTextField.setFont(new Font('宋體', Font.BOLD, 25)); jTextField.setEditable(false); jTextField.setHorizontalAlignment(JTextField.RIGHT); jTextField.setBounds(5, 5, 285, 65); ct.add(jTextField); //按鍵 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 str = new String[]{'MC', 'MR', 'MS', 'M+', 'M-', '←', 'CE', 'C', '±', '√', '7', '8', '9', '/', '%', '4', '5', '6', '*', '1/x', '1', '2', '3', '-', '=', '0', '.', '+'}; int k = 0; for (int i = 75; i <= 195; i = i + 40) { for (int init = 10; init <= 290; init = init + 57) { JButton jButton = new JButton(str[k]); jbs[k] = jButton; jButton.setBounds(init, i, 52, 35); ct.add(jButton); k++; System.out.println(k); } } for (int i = 235; i < 265; i = i + 40) { for (int j = 10; j <= 181; j = j + 57) { JButton jButton = new JButton(str[k]); jButton.setBounds(j, i, 52, 35); ct.add(jButton); jbs[k] = jButton; k++; System.out.println(k); } } JButton jButton = new JButton(str[k]); jbs[k] = jButton; k++; System.out.println(k); jButton.setBounds(240, 235, 52, 75); ct.add(jButton); JButton jButton2 = new JButton(str[k]); System.out.println(str[k]); jButton2.setBounds(10, 275, 109, 35); ct.add(jButton2); jbs[k] = jButton2; k++; for (int i = 275; i < 310; i = i + 40) { for (int j = 124; j <= 181; j = j + 57) { JButton jButton1 = new JButton(str[k]); jButton1.setBounds(j, i, 52, 35); ct.add(jButton1); jbs[k] = jButton1; k++; } } for (int i = 0; i < 28; i++) { jbs[i].addActionListener(this); } this.setVisible(true); } public static void main(String[] args) { new calculate(); } @Override public void actionPerformed(ActionEvent actionEvent) { if (actionEvent.getActionCommand().equals('.')){ method(actionEvent); }else if (actionEvent.getActionCommand().equals('0')){ method(actionEvent); } else if (actionEvent.getActionCommand().equals('1')){ method(actionEvent); }else if(actionEvent.getActionCommand().equals('2')){ method(actionEvent); }else if (actionEvent.getActionCommand().equals('3')){ method(actionEvent); }else if (actionEvent.getActionCommand().equals('4')){ method(actionEvent); }else if (actionEvent.getActionCommand().equals('5')){ method(actionEvent); }else if (actionEvent.getActionCommand().equals('6')){ method(actionEvent); }else if (actionEvent.getActionCommand().equals('7')){ method(actionEvent); }else if (actionEvent.getActionCommand().equals('8')){ method(actionEvent); }else if (actionEvent.getActionCommand().equals('9')){ method(actionEvent); }else if (actionEvent.getActionCommand().equals('±')){ if(_count){ if (cal[0].contains('.')){ cal[0] = String.valueOf(Double.parseDouble(cal[0]) * (-1)); jTextField.setText(cal[0]); }else { cal[0] = String.valueOf(Integer.parseInt(cal[0]) * (-1)); jTextField.setText(cal[0]); } }else { if (cal[2].contains('.')){ cal[2] = String.valueOf(Double.parseDouble(cal[2]) * (-1)); jTextField.setText(cal[2]); }else { cal[2] = String.valueOf(Integer.parseInt(cal[2]) * (-1)); jTextField.setText(cal[2]); } } }else if(actionEvent.getActionCommand().equals('√')){ if(_count){ cal[0] = String.valueOf(Math.pow(Double.parseDouble(cal[0]),0.5)); jTextField.setText(cal[0]); }else { cal[2] = String.valueOf(Math.pow(Double.parseDouble(cal[2]),0.5)); jTextField.setText(cal[2]); } }else if(actionEvent.getActionCommand().equals('1/x')){ if(_count){ cal[0] = String.valueOf(1/Double.parseDouble(cal[0])); jTextField.setText(cal[0]); }else { cal[2] = String.valueOf(1/Double.parseDouble(cal[2])); jTextField.setText(cal[2]); } }else if(actionEvent.getActionCommand().equals('←')){ if(_count){ cal[0] = cal[0].substring(0,cal[0].length()-1); if(cal[0].equals('')){ jTextField.setText('0'); }else { jTextField.setText(cal[0]); } }else { cal[2] = cal[2].substring(0,cal[2].length()-1); if(cal[2].equals('')){ jTextField.setText('0'); }else { jTextField.setText(cal[2]); } } }else if(actionEvent.getActionCommand().equals('CE')){ if (_count){ cal[0]=''; jTextField.setText('0'); }else { cal[2]=''; jTextField.setText('0'); } }else if(actionEvent.getActionCommand().equals('C')){ _count = true; cal[0]=''; cal[1]=''; cal[2]=''; cal[3]=''; jTextField.setText('0'); }else if (actionEvent.getActionCommand().equals('+')){ if (!cal[0].equals('')&&!cal[2].equals('')){ if (cal[0].contains('.') || cal[2].contains('.')){ cal[0]=String.valueOf(Double.parseDouble(cal[0]) + Double.parseDouble(cal[2])); }else { cal[0] = String.valueOf(Integer.parseInt(cal[0]) + Integer.parseInt(cal[2])); } cal[2]=''; } cal[1] = '+'; _count=false; jTextField.setText(cal[1]); }else if (actionEvent.getActionCommand().equals('-')){ if (!cal[0].equals('')&&!cal[2].equals('')){ if (cal[0].contains('.') || cal[2].contains('.')){ cal[0]=String.valueOf(Double.parseDouble(cal[0]) - Double.parseDouble(cal[2])); }else { cal[0] = String.valueOf(Integer.parseInt(cal[0]) - Integer.parseInt(cal[2])); } cal[2]=''; } cal[1] = '-'; _count=false; jTextField.setText(cal[1]); }else if (actionEvent.getActionCommand().equals('*')){ if (!cal[0].equals('')&&!cal[2].equals('')){ if (cal[0].contains('.') || cal[2].contains('.')){ cal[0]=String.valueOf(Double.parseDouble(cal[0]) * Double.parseDouble(cal[2])); }else { cal[0] = String.valueOf(Integer.parseInt(cal[0]) * Integer.parseInt(cal[2])); } cal[2]=''; } cal[1] = '*'; _count=false; jTextField.setText(cal[1]); }else if (actionEvent.getActionCommand().equals('/')){ if (!cal[0].equals('')&&!cal[2].equals('')){ if (cal[0].contains('.') || cal[2].contains('.')){ cal[0]=String.valueOf(Double.parseDouble(cal[0]) / Double.parseDouble(cal[2])); }else { cal[0] = String.valueOf(Integer.parseInt(cal[0]) / Integer.parseInt(cal[2])); } cal[2]=''; } cal[1] = '/'; _count=false; jTextField.setText(cal[1]); }else if (actionEvent.getActionCommand().equals('%')){ cal[0]=String.valueOf(Integer.parseInt(cal[0]) % Integer.parseInt(cal[2])); cal[2]=''; cal[1] = '%'; _count=false; jTextField.setText(cal[1]); }else if (actionEvent.getActionCommand().equals('=')){ if(cal[0].equals('')&&cal[2].equals('')){ jTextField.setText('0'); }else if(!cal[0].equals('')&&cal[2].equals('')){ jTextField.setText(cal[0]); }else if(!cal[0].equals('')&&!cal[2].equals('')){ if(cal[1].equals('+')){ if (cal[0].contains('.') || cal[2].contains('.')){ cal[3]=String.valueOf(Double.parseDouble(cal[0]) + Double.parseDouble(cal[2])); }else { cal[3] = String.valueOf(Integer.parseInt(cal[0]) + Integer.parseInt(cal[2])); } jTextField.setText(cal[3]); }else if (cal[1].equals('-')){ if (cal[0].contains('.') || cal[2].contains('.')){ cal[3]=String.valueOf(Double.parseDouble(cal[0]) - Double.parseDouble(cal[2])); }else { cal[3] = String.valueOf(Integer.parseInt(cal[0]) - Integer.parseInt(cal[2])); } jTextField.setText(cal[3]); }else if(cal[1].equals('*')){ if (cal[0].contains('.') || cal[2].contains('.')){ cal[3]=String.valueOf(Double.parseDouble(cal[0]) * Double.parseDouble(cal[2])); }else { cal[3] = String.valueOf(Integer.parseInt(cal[0]) * Integer.parseInt(cal[2])); } jTextField.setText(cal[3]); }else if (cal[1].equals('/')){ if (cal[0].contains('.') || cal[2].contains('.')){ cal[3]=String.valueOf(Double.parseDouble(cal[0]) / Double.parseDouble(cal[2])); }else { cal[3] = String.valueOf(Integer.parseInt(cal[0]) / Integer.parseInt(cal[2])); } jTextField.setText(cal[3]); }else if (cal[1].equals('%')){ cal[3]=String.valueOf(Integer.parseInt(cal[0]) % Integer.parseInt(cal[2])); jTextField.setText(cal[3]); } } cal[0]=cal[3]; cal[2]=''; _count=true; _count1 = true; cal[5]=cal[0]; }else if(actionEvent.getActionCommand().equals('MC')){ cal[4]=''; }else if(actionEvent.getActionCommand().equals('MR')){ if(_count){ if(!cal[4].equals('')){ cal[0]=cal[4]; jTextField.setText(cal[0]); } }else { if(!cal[4].equals('')){ cal[2]=cal[4]; jTextField.setText(cal[2]); } } }else if(actionEvent.getActionCommand().equals('MS')){ if(_count){ cal[0]=''; } cal[4]=cal[5]; System.out.println('cal[5]'+cal[5]); System.out.println('ms:'+cal[4]); }else if(actionEvent.getActionCommand().equals('M+')){ if(!cal[4].equals('')){ if (cal[4].contains('.') || cal[5].contains('.')){ cal[4]=String.valueOf(Double.parseDouble(cal[4]) + Double.parseDouble(cal[5])); }else { cal[4] = String.valueOf(Integer.parseInt(cal[4]) + Integer.parseInt(cal[5])); } } }else if(actionEvent.getActionCommand().equals('M-')){ if(!cal[4].equals('')){ if (cal[4].contains('.') || cal[5].contains('.')){ cal[4]=String.valueOf(Double.parseDouble(cal[4]) - Double.parseDouble(cal[5])); }else { cal[4] = String.valueOf(Integer.parseInt(cal[4]) - Integer.parseInt(cal[5])); } } } } public void method(ActionEvent actionEvent){ if(_count){ if (_count1){ cal[0]=''; _count1=false; } cal[0] += actionEvent.getActionCommand(); cal[5]=cal[0]; System.out.println(cal[5]); }else { cal[2] += actionEvent.getActionCommand(); cal[5]=cal[2]; } jTextField.setText(actionEvent.getActionCommand()); }}

效果圖:

java實現簡單計算器功能

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 综合7799亚洲伊人爱爱网 | 高清大学生毛片一级 | 一级 在线播放 | 999伊人 | 欧美日韩精品一区二区三区视频播放 | 久久亚洲一区二区 | 香蕉免费一级视频在线观看 | 亚洲国产色综合有声小说 | 国产精品videossex激情 | 国产免费一区二区 | 免费特黄 | 综合色天天| 国产精品秋霞午夜 | 中文字幕在线综合 | 国产成人精品视频频 | 国产成人永久免费视 | 国产大片免费天天看 | 日韩一级在线观看 | 久草在线视频精品 | 国产黄大片在线观看视频 | 亚洲精品国产第1页 | 成年视频在线播放 | 国产成年人在线观看 | 三级黄色免费片 | 欧美日韩在线国产 | 4388x17亚洲最大成人网 | 国产日韩欧美亚洲综合在线 | 国产亚洲一区二区三区在线 | 91网址在线观看 | 色老头xxxxbbbb视频 | 国产精品小视频在线观看 | 91短视频在线观看手机 | 久久精品国产99精品国产2021 | 亚洲 欧美 精品 中文第三 | 国产一级一片免费播放 | 五月六月伊人狠狠丁香网 | 一级a俄罗斯毛片免费 | 国产精品夜间视频香蕉 | 成人免费在线播放视频 | 日本a一级毛片免费观看 | 国产在线综合视频 |