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

您的位置:首頁技術(shù)文章
文章詳情頁

java實現(xiàn)簡單計算器功能

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

使用java來實現(xiàn)一個簡單的計算器,供大家參考,具體內(nèi)容如下

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

話不多說直接上代碼

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]用來存儲第一次輸入的數(shù) //cal[1]用來存儲運算符(+,-,*,/,%) //cal[2]用來存儲第二次輸入的數(shù) //cal[3]用來存儲結(jié)果 //cal[4]用來存儲MS鍵所存儲的數(shù) //cal[5]用來獲取要存入的值(用來給cal[4]賦值) private String[] cal = {'','','','','',''}; //_count和_count1始終相反,如果_count為true則表示正在輸入cal[0]反之表示cal[0]輸入完成,該輸入cal[2] //當(dāng)點過等號后將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實現(xiàn)簡單計算器功能

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 欧美日韩乱妇高清免费 | 国产香蕉免费精品视频 | 黄色一级毛片在线观看 | 欧美激情福利视频在线观看免费 | 日韩在线视频免费播放 | 国产 另类 在线 欧美日韩 | 精品国产一区二区三区久久影院 | 特级做人爱c级特级aav毛片 | 免费的日本一级淫篇小说 | 色婷婷激情五月综合 | 无遮挡一级毛片私人影院 | 国产精品黄页网站在线播放免费 | 亚洲区欧美中文字幕久久 | 蜜臀在线观看 | 色佬在线| 色婷婷啪啪 | 免费看黄色三级毛片 | 国产精品v片在线观看不卡 国产精品v在线播放观看 | 国产床戏做爰免费观看网站 | 国内精品久久久久久影院老狼 | 国产精品自拍在线观看 | 在线观看国产情趣免费视频 | 最新亚洲手机在线人成网站 | 亚洲综合色婷婷六月丁香 | 亚洲欧美综合一区二区三区四区 | 亚洲一在线 | 欧美日韩在线高清 | 欧美人超级乱淫片免费 | 婷婷中文| 日韩一级欧美一级毛片在 | 欧美一欧美一级毛片 | 欧美黄免在线播放 | 国产大片免费观看中文字幕 | 婷婷在线视频 | 日本免费在线一区 | 亚洲综合涩 | 久久天天躁狠狠躁夜夜中文字幕 | 黄在线观看在线播放720p | 久久国产中文字幕 | 亚洲福利一区二区 | 青青草99热这里都是精品 |