电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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
相關文章:
主站蜘蛛池模板: 北京发电车出租-发电机租赁公司-柴油发电机厂家 - 北京明旺盛安机电设备有限公司 | 地源热泵一体机,地源热泵厂家-淄博汇能环保设备有限公司 | 利浦顿蒸汽发生器厂家-电蒸汽发生器/燃气蒸汽发生器_湖北利浦顿热能科技有限公司官网 | 山东风淋室_201/304不锈钢风淋室净化设备厂家-盛之源风淋室厂家 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 福州仿石漆加盟_福建仿石漆厂家-外墙仿石漆加盟推荐铁壁金钢(福建)新材料科技有限公司有保障 | 百度关键词优化_网站优化_SEO价格 - 云无限好排名 | 100国际学校招生 - 专业国际学校择校升学规划 | 14米地磅厂家价价格,150吨地磅厂家价格-百科 | 工业洗衣机_工业洗涤设备_上海力净工业洗衣机厂家-洗涤设备首页 bkzzy在职研究生网 - 在职研究生招生信息咨询平台 | 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | 塑胶地板-商用PVC地板-pvc地板革-安耐宝pvc塑胶地板厂家 | 新疆系统集成_新疆系统集成公司_系统集成项目-新疆利成科技 | 蒸压釜_蒸养釜_蒸压釜厂家-山东鑫泰鑫智能装备有限公司 | 北京签证代办_签证办理_商务签证_旅游签证_寰球签证网 | 5L旋转蒸发器-20L-50L旋转蒸发器-上海越众仪器设备有限公司 | 压砖机_电动螺旋压力机_粉末成型压力机_郑州华隆机械tel_0371-60121717 | 武汉不干胶印刷_标签设计印刷_不干胶标签印刷厂 - 武汉不干胶标签印刷厂家 | 利浦顿蒸汽发生器厂家-电蒸汽发生器/燃气蒸汽发生器_湖北利浦顿热能科技有限公司官网 | 全自动包装秤_全自动上袋机_全自动套袋机_高位码垛机_全自动包装码垛系统生产线-三维汉界机器(山东)股份有限公司 | 刘秘书_你身边专业的工作范文写作小秘书| 亮化工程,亮化设计,城市亮化工程,亮化资质合作,长沙亮化照明,杰奥思【官网】 | 建筑工程资质合作-工程资质加盟分公司-建筑资质加盟 | 塑料异型材_PVC异型材_封边条生产厂家_PC灯罩_防撞扶手_医院扶手价格_东莞市怡美塑胶制品有限公司 | 高空重型升降平台_高空液压举升平台_高空作业平台_移动式升降机-河南华鹰机械设备有限公司 | 网站建设-网站制作-网站设计-网站开发定制公司-网站SEO优化推广-咏熠软件 | 武汉高低温试验箱_恒温恒湿试验箱厂家-武汉蓝锐环境科技有限公司 | 客服外包专业服务商_客服外包中心_网萌科技 | 南京雕塑制作厂家-不锈钢雕塑制作-玻璃钢雕塑制作-先登雕塑厂 | 杭州画室_十大画室_白墙画室_杭州美术培训_国美附中培训_附中考前培训_升学率高的画室_美术中考集训美术高考集训基地 | 电子海图系统-电梯检验系统-智慧供热系统开发-商品房预售资金监管系统 | 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 中国品牌排名投票_十大品牌榜单_中国著名品牌【中国品牌榜】 | 西子馋火锅鸡加盟-太原市龙城酉鼎餐饮管理有限公司 | 吲哚菁绿衍生物-酶底物法大肠菌群检测试剂-北京和信同通科技发展有限公司 | 衬塑设备,衬四氟设备,衬氟设备-淄博鲲鹏防腐设备有限公司 | 丝印油墨_水性油墨_环保油墨油漆厂家_37国际化工 | 光纤测温-荧光光纤测温系统-福州华光天锐光电科技有限公司 | 361°官方网站| 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 退火炉,燃气退火炉,燃气热处理炉生产厂家-丹阳市丰泰工业炉有限公司 | 熔体泵|换网器|熔体齿轮泵|熔体计量泵厂家-郑州巴特熔体泵有限公司 |