最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)一個簡單計算器

 更新時間:2022年01月25日 14:50:10   作者:蹦跶的小羊羔  
這篇文章主要介紹了Java實現(xiàn)一個簡單計算器,文章我圍繞實現(xiàn)簡單計算器的相關(guān)代碼展現(xiàn)全文,具有一定的參考價值,需要的小伙伴可以參考一下,

先來看看界面效果:

源碼如下:

package test1;
?
import java.awt.Frame;
import java.awt.TextField;
import java.awt.Button;
import java.awt.Panel;
import java.awt.GridLayout;
?
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
?
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class calculate {
?? ?TextField tfResult;
?? ?Button btNum[],btOper[],btPoint,btEqual,btBack,btSqrt,btPingfang,btLifang;
?? ?int num1,num2;//操作數(shù)
?? ?char oper;//操作符
?? ?boolean isNum;//代表數(shù)字標(biāo)志位
?? ?public void init(){
?? ??? ?Frame f;
?? ??? ?
?? ??? ?tfResult=new TextField();
?? ??? ?
?? ??? ?btNum=new Button[10];//數(shù)組對象
?? ??? ?for(int i=0;i<=9;i++){
?? ??? ??? ?btNum[i]=new Button(i+"");
?? ??? ?}
?? ??? ?btOper=new Button[4];
?? ??? ?btOper[0]=new Button("+");
?? ??? ?btOper[1]=new Button("-");
?? ??? ?btOper[2]=new Button("*");
?? ??? ?btOper[3]=new Button("/");
?? ??? ?
?? ??? ?btPoint=new Button(".");
?? ??? ?btEqual=new Button("=");
?? ??? ?btBack=new Button("Backspace");
?? ??? ?btSqrt=new Button("Sqrt");
?? ??? ?btPingfang=new Button("2");
?? ??? ?btLifang=new Button("3");
?? ??? ?f=new Frame("小羊羔的計算器!");
?? ??? ?
?? ??? ?f.setSize(300,300);
?? ??? ?
?? ??? ?//放置組件
?? ??? ?f.add(tfResult,"North");
?? ??? ?Panel panel=new Panel();
?? ??? ?f.add(panel,"Center");
?? ??? ?GridLayout gl=new GridLayout(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);
?? ??? ?
?? ??? ?//注冊監(jiān)聽
?? ??? ?f.addWindowListener(new MyWinLis());
?? ??? ?//數(shù)字按鈕注冊監(jiān)聽
?? ??? ?MyNumLis mnl=new MyNumLis();
?? ??? ?for(int i=0;i<=9;i++)
?? ??? ??? ?btNum[i].addActionListener(mnl);
?? ??? ?
?? ??? ?//操作符按鈕注冊監(jiān)聽
?? ??? ?MyOperLis mol=new MyOperLis();
?? ??? ?for(int j=0;j<=3;j++)
?? ??? ??? ?btOper[j].addActionListener(mol);
?? ??? ?//等號按鈕注冊監(jiān)聽
?? ??? ?MyEqualLis mel=new MyEqualLis();
?? ??? ?btEqual.addActionListener(mel);
?? ??? ?//刪除按鈕注冊監(jiān)聽
?? ??? ?MyBackLis mbl=new MyBackLis();
?? ??? ?btBack.addActionListener(mbl);
?? ??? ?//開根號按鈕注冊監(jiān)聽
?? ??? ?MySqrtLis msl=new MySqrtLis();
?? ??? ?btSqrt.addActionListener(msl);
?? ??? ?//平方按鈕注冊監(jiān)聽
?? ??? ?MyPingfangLis mpl=new MyPingfangLis();
?? ??? ?btPingfang.addActionListener(mpl);
?? ??? ?//百分號注冊監(jiān)聽
?? ??? ?MyLifangLis mll=new MyLifangLis();
?? ??? ?btLifang.addActionListener(mll);
?? ?}
?? ?//定義監(jiān)聽器類
?? ?class MyNumLis implements ActionListener{
?? ??? ?public void actionPerformed(ActionEvent e){
?? ??? ??? ?String t=e.getActionCommand();
?? ??? ??? ?String s=tfResult.getText();
?? ??? ??? ?if(isNum==false)
?? ??? ??? ??? ?tfResult.setText(t);
?? ??? ??? ?else?
?? ??? ??? ??? ?tfResult.setText(s+t);
?? ??? ??? ?isNum=true;
?? ??? ?}
?? ?}
?? ?class MySqrtLis implements ActionListener{
?? ??? ?public void actionPerformed(ActionEvent e){
?? ??? ??? ?double t=Double.parseDouble(tfResult.getText());
?? ??? ??? ?tfResult.setText(Math.sqrt(t)+"");
?? ??? ??? ?isNum=false;
?? ??? ?}
?? ?}
?? ?class MyPingfangLis implements ActionListener{
?? ??? ?public void actionPerformed(ActionEvent e){
?? ??? ??? ?num1=Integer.parseInt(tfResult.getText());
?? ??? ??? ?tfResult.setText(num1*num1+"");
?? ??? ?}
?? ?}
?? ?class MyLifangLis implements ActionListener{
?? ??? ?public void actionPerformed(ActionEvent e){
?? ??? ??? ?num1=Integer.parseInt(tfResult.getText());
?? ??? ??? ?tfResult.setText(num1*num1*num1+"");
?? ??? ?}
?? ?}
?? ?class MyOperLis implements ActionListener{
?? ??? ?public void actionPerformed(ActionEvent e){
?? ??? ??? ?num1=Integer.parseInt(tfResult.getText());//轉(zhuǎn)化為INT
?? ??? ??? ?oper=e.getActionCommand().charAt(0);
?? ??? ??? ?isNum=false;
?? ??? ?}
?? ?}
?? ?class MyEqualLis implements ActionListener{
?? ??? ?public void actionPerformed(ActionEvent e){
?? ??? ??? ?int result=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+"");
?? ??? ?}
?? ?}
?? ?class MyBackLis implements ActionListener{
?? ??? ?public void actionPerformed(ActionEvent e){
?? ??? ??? ?tfResult.setText("");
?? ??? ??? ?isNum=false;
?? ??? ?}
?? ?}
?? ?class MyWinLis extends WindowAdapter{
?? ??? ?public void windowClosing(WindowEvent e){
?? ??? ??? ?e.getWindow().setVisible(false);
?? ??? ??? ?e.getWindow().dispose();
?? ??? ??? ?System.exit(0);
?? ??? ?}
?? ?}
?? ?
?? ?public static void main(String[] args) {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?new calculate().init();
?? ?}
?
}

11×5=?界面如下: 

到此這篇關(guān)于Java實現(xiàn)一個簡單計算器的文章就介紹到這了,更多相關(guān)Java簡單計算器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Java如何判斷一個對象是否為空

    詳解Java如何判斷一個對象是否為空

    我們在剛開始學(xué)習(xí)Java的時候,遇到過最多的異??隙ㄊ浅裘阎目罩羔槷惓#∟ullPointerException),可以說它陪伴了我們整個初學(xué)階段,那么如何優(yōu)雅的判斷一個對象是否為空并且減少空指針異常呢,
    2024-01-01
  • Java數(shù)據(jù)結(jié)構(gòu)及算法實例:選擇排序 Selection Sort

    Java數(shù)據(jù)結(jié)構(gòu)及算法實例:選擇排序 Selection Sort

    這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)及算法實例:選擇排序 Selection Sort,本文直接給出實現(xiàn)代碼,代碼中包含詳細(xì)注釋,需要的朋友可以參考下
    2015-06-06
  • SpringBoot整合第三方技術(shù)的實現(xiàn)

    SpringBoot整合第三方技術(shù)的實現(xiàn)

    本文主要介紹了SpringBoot整合第三方技術(shù)的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Java技巧分享之利用RxJava打造可觀測數(shù)據(jù)RxLiveData

    Java技巧分享之利用RxJava打造可觀測數(shù)據(jù)RxLiveData

    這篇文章主要來和大家分享一個Java技巧,那就是利用RxJava打造可觀測數(shù)據(jù)RxLiveData,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-06-06
  • java封裝及四種權(quán)限修飾符詳解

    java封裝及四種權(quán)限修飾符詳解

    這篇文章主要介紹了java封裝及四種權(quán)限修飾符詳解,對屬性進(jìn)行封裝,使用戶不能直接輸入數(shù)據(jù),我們需要避免用戶再使用"對象.屬性"的方式對屬性進(jìn)行賦值
    2022-08-08
  • Java實現(xiàn)帶緩沖的輸入輸出流

    Java實現(xiàn)帶緩沖的輸入輸出流

    本文詳細(xì)講解了Java實現(xiàn)帶緩沖的輸入輸出流,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Mybatis在insert插入操作后如何返回主鍵id問題

    Mybatis在insert插入操作后如何返回主鍵id問題

    這篇文章主要介紹了Mybatis在insert插入操作后如何返回主鍵id問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • SpringBoot整合Caffeine使用示例

    SpringBoot整合Caffeine使用示例

    Spring Boot 和 Caffeine 可以很容易地進(jìn)行整合,Caffeine 是一個現(xiàn)代化的 Java 緩存庫,提供了高性能和靈活的緩存策略,本文給大家介紹了SpringBoot整合Caffeine使用示例,需要的朋友可以參考下
    2024-07-07
  • mybatis-plus自定義排序的實現(xiàn)

    mybatis-plus自定義排序的實現(xiàn)

    本文主要介紹了mybatis-plus自定義排序的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 關(guān)于weblogic部署Java項目的包沖突問題的解決

    關(guān)于weblogic部署Java項目的包沖突問題的解決

    這篇文章主要介紹了關(guān)于weblogic部署Java項目的包沖突問題的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01

最新評論

进贤县| 潢川县| 白水县| 乌拉特中旗| 罗定市| 巴林左旗| 米脂县| 句容市| 醴陵市| 庄浪县| 云南省| 赤壁市| 湖南省| 横峰县| 涡阳县| 那坡县| 万州区| 正蓝旗| 探索| 龙江县| 东阿县| 清远市| 太仓市| 旅游| 临漳县| 襄樊市| 维西| 会理县| 鹰潭市| 鸡东县| 施甸县| 苗栗市| 砚山县| 海丰县| 府谷县| 荣成市| 浑源县| 郸城县| 罗定市| 凤翔县| 宜黄县|