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

Java實(shí)現(xiàn)一個(gè)簡單計(jì)算器

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

先來看看界面效果:

源碼如下:

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ù)組對(duì)象
?? ??? ?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("小羊羔的計(jì)算器!");
?? ??? ?
?? ??? ?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);
?? ??? ?
?? ??? ?//注冊(cè)監(jiān)聽
?? ??? ?f.addWindowListener(new MyWinLis());
?? ??? ?//數(shù)字按鈕注冊(cè)監(jiān)聽
?? ??? ?MyNumLis mnl=new MyNumLis();
?? ??? ?for(int i=0;i<=9;i++)
?? ??? ??? ?btNum[i].addActionListener(mnl);
?? ??? ?
?? ??? ?//操作符按鈕注冊(cè)監(jiān)聽
?? ??? ?MyOperLis mol=new MyOperLis();
?? ??? ?for(int j=0;j<=3;j++)
?? ??? ??? ?btOper[j].addActionListener(mol);
?? ??? ?//等號(hào)按鈕注冊(cè)監(jiān)聽
?? ??? ?MyEqualLis mel=new MyEqualLis();
?? ??? ?btEqual.addActionListener(mel);
?? ??? ?//刪除按鈕注冊(cè)監(jiān)聽
?? ??? ?MyBackLis mbl=new MyBackLis();
?? ??? ?btBack.addActionListener(mbl);
?? ??? ?//開根號(hào)按鈕注冊(cè)監(jiān)聽
?? ??? ?MySqrtLis msl=new MySqrtLis();
?? ??? ?btSqrt.addActionListener(msl);
?? ??? ?//平方按鈕注冊(cè)監(jiān)聽
?? ??? ?MyPingfangLis mpl=new MyPingfangLis();
?? ??? ?btPingfang.addActionListener(mpl);
?? ??? ?//百分號(hào)注冊(cè)監(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實(shí)現(xiàn)一個(gè)簡單計(jì)算器的文章就介紹到這了,更多相關(guān)Java簡單計(jì)算器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Java如何判斷一個(gè)對(duì)象是否為空

    詳解Java如何判斷一個(gè)對(duì)象是否為空

    我們?cè)趧傞_始學(xué)習(xí)Java的時(shí)候,遇到過最多的異常肯定是臭名昭著的空指針異常(NullPointerException),可以說它陪伴了我們整個(gè)初學(xué)階段,那么如何優(yōu)雅的判斷一個(gè)對(duì)象是否為空并且減少空指針異常呢,
    2024-01-01
  • Java數(shù)據(jù)結(jié)構(gòu)及算法實(shí)例:選擇排序 Selection Sort

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

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

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

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

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

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

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

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

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

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

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

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

    SpringBoot整合Caffeine使用示例

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

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

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

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

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

最新評(píng)論

吉安县| 穆棱市| 湾仔区| 怀柔区| 桐柏县| 靖边县| 娄底市| 上饶市| 杨浦区| 商丘市| 东光县| 胶南市| 益阳市| 黄梅县| 浏阳市| 博罗县| 阿拉善右旗| 呈贡县| 麻阳| 海城市| 政和县| 隆子县| 卓资县| 南陵县| 和龙市| 乌拉特中旗| 东台市| 南汇区| 西充县| 安新县| 南郑县| 乌拉特前旗| 饶平县| 庄浪县| 岳池县| 河北省| 桐庐县| 呼和浩特市| 保康县| 阜城县| 六安市|