Java如何实现一个简单计算器
导读:本文共2554.5字符,通常情况下阅读需要9分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 先来看看界面效果:源码如下:packagetest1;importjava.awt.Frame;importjava.awt.TextField;importjava.awt.Button;importjava.awt.Panel;importjava.awt.GridLayout;importjava.awt.event.WindowAdapt... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。先来看看界面效果:
源码如下:
packagetest1;importjava.awt.Frame;importjava.awt.TextField;importjava.awt.Button;importjava.awt.Panel;importjava.awt.GridLayout;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;publicclasscalculate{TextFieldtfResult;ButtonbtNum[],btOper[],btPoint,btEqual,btBack,btSqrt,btPingfang,btLifang;intnum1,num2;//操作数charoper;//操作符booleanisNum;//代表数字标志位publicvoidinit(){Framef;tfResult=newTextField();btNum=newButton[10];//数组对象for(inti=0;i<=9;i++){btNum[i]=newButton(i+"");}btOper=newButton[4];btOper[0]=newButton("+");btOper[1]=newButton("-");btOper[2]=newButton("*");btOper[3]=newButton("/");btPoint=newButton(".");btEqual=newButton("=");btBack=newButton("Backspace");btSqrt=newButton("Sqrt");btPingfang=newButton("2");btLifang=newButton("3");f=newFrame("小羊羔的计算器!");f.setSize(300,300);//放置组件f.add(tfResult,"North");Panelpanel=newPanel();f.add(panel,"Center");GridLayoutgl=newGridLayout(5,4);panel.setLayout(gl);panel.add(btNum[1]);panel.add(btNum[2]);panel.add(btNum[3]);panel.add(btOper[0]);panel.add(btNum[4]);panel.add(btNum[5]);panel.add(btNum[6]);panel.add(btOper[1]);panel.add(btNum[7]);panel.add(btNum[8]);panel.add(btNum[9]);panel.add(btOper[2]);panel.add(btNum[0]);panel.add(btPoint);panel.add(btEqual);panel.add(btOper[3]);panel.add(btBack);panel.add(btSqrt);panel.add(btPingfang);panel.add(btLifang);f.setVisible(true);//注册监听f.addWindowListener(newMyWinLis());//数字按钮注册监听MyNumLismnl=newMyNumLis();for(inti=0;i<=9;i++)btNum[i].addActionListener(mnl);//操作符按钮注册监听MyOperLismol=newMyOperLis();for(intj=0;j<=3;j++)btOper[j].addActionListener(mol);//等号按钮注册监听MyEqualLismel=newMyEqualLis();btEqual.addActionListener(mel);//删除按钮注册监听MyBackLismbl=newMyBackLis();btBack.addActionListener(mbl);//开根号按钮注册监听MySqrtLismsl=newMySqrtLis();btSqrt.addActionListener(msl);//平方按钮注册监听MyPingfangLismpl=newMyPingfangLis();btPingfang.addActionListener(mpl);//百分号注册监听MyLifangLismll=newMyLifangLis();btLifang.addActionListener(mll);}//定义监听器类classMyNumLisimplementsActionListener{publicvoidactionPerformed(ActionEvente){Stringt=e.getActionCommand();Strings=tfResult.getText();if(isNum==false)tfResult.setText(t);elsetfResult.setText(s+t);isNum=true;}}classMySqrtLisimplementsActionListener{publicvoidactionPerformed(ActionEvente){doublet=Double.parseDouble(tfResult.getText());tfResult.setText(Math.sqrt(t)+"");isNum=false;}}classMyPingfangLisimplementsActionListener{publicvoidactionPerformed(ActionEvente){num1=Integer.parseInt(tfResult.getText());tfResult.setText(num1*num1+"");}}classMyLifangLisimplementsActionListener{publicvoidactionPerformed(ActionEvente){num1=Integer.parseInt(tfResult.getText());tfResult.setText(num1*num1*num1+"");}}classMyOperLisimplementsActionListener{publicvoidactionPerformed(ActionEvente){num1=Integer.parseInt(tfResult.getText());//转化为INToper=e.getActionCommand().charAt(0);isNum=false;}}classMyEqualLisimplementsActionListener{publicvoidactionPerformed(ActionEvente){intresult=0;isNum=false;num2=Integer.parseInt(tfResult.getText());switch(oper){case'+':result=num1+num2;break;case'-':result=num1-num2;break;case'*':result=num1*num2;break;case'/':result=num1/num2;break;}tfResult.setText(result+"");}}classMyBackLisimplementsActionListener{publicvoidactionPerformed(ActionEvente){tfResult.setText("");isNum=false;}}classMyWinLisextendsWindowAdapter{publicvoidwindowClosing(WindowEvente){e.getWindow().setVisible(false);e.getWindow().dispose();System.exit(0);}}publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubnewcalculate().init();}}
11×5=?界面如下:
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:
Java如何实现一个简单计算器的详细内容,希望对您有所帮助,信息来源于网络。