Java编写计算器的几种常见的做法_第1页
Java编写计算器的几种常见的做法_第2页
Java编写计算器的几种常见的做法_第3页
Java编写计算器的几种常见的做法_第4页
Java编写计算器的几种常见的做法_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java编写计算器的几种常见的做法。txt9母爱是一滴甘露,亲吻干枯的泥土,它用细雨的温情,用钻石的坚毅,期盼着闪着碎光的泥土的肥沃;母爱不是人生中的一个凝固点,而是一条流淌的河,这条河造就了我们生命中秀丽的情感之景。importjava。awt.*;importjava.awt。event。*;publicclassMyCalculator{privateFramef;privateTextFieldtf=newTextField(30);privatelongresult;privatebooleanappend=false;privatecharoperator='=';privateButton[]btn=newButton[15];publicMyCalculator(){initComponent();}privatevoidinitComponent(){f=newFrame("MyCalculatorV1.0");f。setLayout(newBorderLayout());//TheframeusesBorderLayoutf.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEventevt){System.exit(0);}});PanelcenterPanel=newPanel();centerPanel.setLayout(newGridLayout(5,3));//ThepanelusesGridLayoutNumberListenernl=newNumberListener();OperatorListenerol=newOperatorListener();btn[10]=newButton("+");btn[11]=newButton("-”);btn[12]=newButton("*”);btn[13]=newButton("/");btn[14]=newButton(”=”);for(inti=0;i〈=9;i++){btn[i]=newButton(String.valueOf(i));centerPanel。add(btn[i]);btn[i]。addActionListener(nl);if(i%2==1){centerPanel.add(btn[(i+19)/2]);btn[(i+19)/2]。addActionListener(ol);}}f。add(centerPanel,BorderLayout。CENTER);PanelnorthPanel=newPanel();tf。setEditable(false);northPanel.add(tf);f。add(northPanel,BorderLayout.NORTH);}publicvoidgo(){f.pack();f.setVisible(true);}publicstaticvoidmain(String[]args){newMyCalculator().go();}/***采纳成员内部类方式,实现监听器接口,便利访问主类内类内部成员.*此类负责数字按钮Action大事监听和处理*/classNumberListenerimplementsActionListener{publicvoidactionPerformed(ActionEvente){if(!append){tf.setText(”");append=true;}Strings=tf.getText();s+=e.getActionCommand();tf.setText(s);if(!btn[10]。isEnabled()){for(inti=10;i<=14;i++)btn[i].setEnabled(true);}}}/***成员内部类,负责操作符按钮的大事处理*/classOperatorListenerimplementsActionListener{publicvoidactionPerformed(ActionEvente){if(!append)return;for(inti=10;i<=14;i++)btn[i].setEnabled(false);Strings=tf。getText();longnum=Long.parseLong(s);//getthenumberoftextfieldappend=false;//setappendswitch(operator){case'+’:result+=num;break;case’-':result-=num;break;case’*’:result*=num;break;case'/':{if(num==0)result=0;elseresult/=num;break;}case'=':result=num;break;}tf.setText(String.valueOf(result));//setthevalueofresulttotextfieldStringop=e。getActionCommand();operator=op。charAt(0);//setoperator}}}方法2:—————————--——-——--————-——--—-———————-—————————packagewanwa;importjava.util.*;publicclasscalc{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);System。out.println(”*****************简易计算器****************”);System.out。println("*\t\t\t\t\t*");System。out.println("*使用说明:1.加法2.减法3.乘法4.除法*”);System.out。println(”*\t\t\t\t\t*");System.out。println("*****************************************");for(inti=0;i<100;i++){System.out。print(”\n请选择运算规章:");intnum=input.nextInt();switch(num){case1:System.out。println("\n******你选择了加法******\n");System.out。print("请输入第1个加数:");intjiashu1=input.nextInt();System。out。print(”请输入第2个加数:”);intjiashu2=input.nextInt();System.out.println("运算结果为:”+jiashu1+”+”+jiashu1+”=”+(jiashu1+jiashu2));break;case2:System.out。println("\n******你选择了减法******\n");System。out。print(”请输入被减数:");intjianshu1=input。nextInt();System。out.print("请输入减数:");intjianshu2=input。nextInt();System.out.println("运算结果为:"+jianshu1+”-"+jianshu2+"="+(jianshu1-jianshu2));break;case3:System.out.println("\n******你选择了乘法******\n");System.out.print("请输入第1个因数:");intchengfa1=input。nextInt();System.out。print(”请输入第2个因数:");intchengfa2=input.nextInt();System.out.println("运算结果为:"+chengfa1+"*”+chengfa2+"="+(chengfa1*chengfa2));break;case4:System.out.println("\n******你选择了除法******\n”);System.out。print(”请输入被除数:");doublechufa1=input。nextInt();System.out。print("请输入除数:");doublechufa2=input.nextInt();System.out.println("运算结果为:"+chufa1+”/"+chufa2+"="+(chufa1/chufa2)+"余”+(chufa1%chufa2));break;default:System.out。println("\n你的选择有错,请重新选择!");break;}}}}第三种写法:—————--—-——-—-————-————————---——————---——----—packagewanwa;importjava.awt。*;importjava。awt。event.*;importjavax。swing。*;publicclassCalculatorextendsJFrame{privateContainercontainer;privateGridBagLayoutlayout;privateGridBagConstraintsconstraints;privateJTextFielddisplayField;//计算结果显示区privateStringlastCommand;//保存+,-,*,/,=命令privatedoubleresult;//保存计算结果privatebooleanstart;//推断是否为数字的开头publicCalculator(){super(”Calculator");container=getContentPane();layout=newGridBagLayout();container。setLayout(layout);constraints=newGridBagConstraints();start=true;result=0;lastCommand="=”;displayField=newJTextField(20);displayField。setHorizontalAlignment(JTextField.RIGHT);constraints。gridx=0;constraints.gridy=0;constraints.gridwidth=4;constraints.gridheight=1;constraints.fill=GridBagConstraints.BOTH;constraints.weightx=100;constraints。weighty=100;layout。setConstraints(displayField,constraints);container.add(displayField);ActionListenerinsert=newInsertAction();ActionListenercommand=newCommandAction();//addButton("Backspace",0,1,2,1,insert);//addButton("CE”,2,1,1,1,insert);//addButton(”C”,3,1,1,1,insert);addButton("7",0,2,1,1,insert);addButton(”8",1,2,1,1,insert);addButton(”9”,2,2,1,1,insert);addButton("/”,3,2,1,1,command);addButton("4",0,3,1,1,insert);addButton("5",1,3,1,1,insert);addButton("6”,2,3,1,1,insert);addButton(”*”,3,3,1,1,command);addButton(”1”,0,4,1,1,insert);addButton("2”,1,4,1,1,insert);addButton(”3",2,4,1,1,insert);addButton(”-",3,4,1,1,command);addButton(”0",0,5,1,1,insert);//addButton(”+/—”,1,5,1,1,insert);//只显示"-"号,”+”没有有用价值addButton(”。",2,5,1,1,insert);addButton("+”,3,5,1,1,command);addButton("=”,0,6,4,1,command);this.setResizable(false);setSize(180,200);setVisible(true);}privatevoidaddButton(Stringlabel,introw,intcolumn,intwith,intheight,ActionListenerlistener){JButtonbutton=newJButton(label);constraints.gridx=row;constraints.gridy=column;constraints。gridwidth=with;constraints。gridheight=height;constraints。fill=GridBagConstraints.BOTH;button。addActionListener(listener);layout。setConstraints(button,constraints);container。add(button);}privateclassInsertActionimplementsActionListener{publicvoidactionPerformed(ActionEventevent){Stringinput=event.getActionCommand();if(start){displayField.setText("");start=false;if(input.equals("+/—"))displayField。setText(displayField.getText()+”-");}if(!input.equals("+/-")){if(input。equals(”Backspace")){Stringstr=displayField。getText();if(str.length()>0)displayField。setText(str.substring(0,str。length()-1));}elseif(input.equals(”CE”)||input.equals("C")){displayField.setText(”0");start=true;}elsedisplayField.setText(displayField.getText()+input);}}}privateclassCommandActionimplementsActionListener{publicvoidactionPerformed(ActionEventevt){Stringcommand=evt.getActionCommand();if(start){lastCommand=command;}else{calculate(Double。parseDouble(displayField.getText()));lastCommand=command;start=true;}}}publicvoidcalculate(doublex){if(lastCommand.equals("+"))result+=x;elseif(lastCommand.equals("—"))result-=x;elseif(lastCommand.equals("*"))result*=x;elseif(lastCommand.equals("/"))result/=x;elseif(lastCommand。equals("="))result=x;displayField.setText(””+result);}publicstaticvoidmain(String[]args){Calculatorcalculator=newCalculator();calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}第四种写法:——-———----——————-———--———-————————————-——-——-—packagewanwa;importjava。awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassCalculatorextendsJFrame{privateContainercontainer;privateGridBagLayoutlayout;privateGridBagConstraintsconstraints;privateJTextFielddisplayField;//计算结果显示区privateStringlastCommand;//保存+,-,*,/,=命令privatedoubleresult;//保存计算结果privatebooleanstart;//推断是否为数字的开头publicCalculator(){super("Calculator");container=getContentPane();layout=newGridBagLayout();container.setLayout(layout);constraints=newGridBagConstraints();start=true;result=0;lastCommand="=";displayField=newJTextField(20);displayField.setHorizontalAlignment(JTextField.RIGHT);constraints.gridx=0;constraints.gridy=0;constraints.gridwidth=4;constraints.gridheight=1;constraints.fill=GridBagConstraints.BOTH;constraints.weightx=100;constraints.weighty=100;layout。setConstraints(displayField,constraints);container.add(displayField);ActionListenerinsert=newInsertAction();ActionListenercommand=newCommandAction();//addButton("Backspace”,0,1,2,1,insert);//addButton("CE",2,1,1,1,insert);//addButton("C",3,1,1,1,insert);addButton("7",0,2,1,1,insert);addButton(”8",1,2,1,1,insert);addButton("9",2,2,1,1,insert);addButton("/",3,2,1,1,command);addButton("4",0,3,1,1,insert);addButton("5",1,3,1,1,insert);addButton(”6”,2,3,1,1,insert);addButton("*”,3,3,1,1,command);addButton("1",0,4,1,1,insert);addButton(”2",1,4,1,1,insert);addButton("3",2,4,1,1,insert);addButton("-”,3,4,1,1,command);addButton(”0”,0,5,1,1,insert);//addButton("+/—",1,5,1,1,insert);//只显示"-"号,"+"没有有用价值addButton(".",2,5,1,1,insert);addButton("+”,3,5,1,1,command);addButton(”=",0,6,4,1,command);this.setResizable(false);setSize(180,200);setVisible(true);}privatevoidaddButton(Stringlabel,introw,intcolumn,intwith,intheight,ActionListenerlistener){JButtonbutton=newJButton(label);constraints.gridx=row;constraints.gridy=column;constraints。gridwidth=with;constraints.gridheight=height;constraints.fill=GridBagConstraints.BOTH;button.addActionListener(listener);layout.setConstraints(button,constraints);container.add(button);}privateclassInsertActionimplementsActionListener{publicvoidactionPerformed(ActionEventevent){Stringinput=event.getActionCommand();if(start){

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论