欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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下載中g(shù)etContentLength()一直為-1的一些思路

    基于java下載中g(shù)etContentLength()一直為-1的一些思路

    下面小編就為大家?guī)硪黄趈ava下載中g(shù)etContentLength()一直為-1的一些思路。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Java中的什么場景使用遞歸,如何使用遞歸

    Java中的什么場景使用遞歸,如何使用遞歸

    這篇文章主要介紹了Java中的什么場景使用遞歸,如何使用遞歸的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Spring Boot使用Log4j2的實例代碼

    Spring Boot使用Log4j2的實例代碼

    這篇文章主要介紹了Spring Boot使用Log4j2的實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • JavaWeb開發(fā)之模仿知乎首頁完整代碼

    JavaWeb開發(fā)之模仿知乎首頁完整代碼

    這篇文章主要介紹了JavaWeb開發(fā)之模仿知乎首頁完整代碼的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • MyBatis查詢緩存實例詳解

    MyBatis查詢緩存實例詳解

    查詢緩存的使用,主要是為了提高查詢訪問速度。這篇文章主要介紹了MyBatis查詢緩存,需要的朋友可以參考下
    2017-06-06
  • 在Eclipse中部署Spring Boot/Spring Cloud應(yīng)用到阿里云

    在Eclipse中部署Spring Boot/Spring Cloud應(yīng)用到阿里云

    這篇文章主要介紹了在Eclipse中部署Spring Boot/Spring Cloud應(yīng)用到阿里云,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 基于SpringBoot創(chuàng)建Web頁面并熱更新的操作步驟

    基于SpringBoot創(chuàng)建Web頁面并熱更新的操作步驟

    SpringBoot是一個用于快速開發(fā)單個微服務(wù)的框架,它基于 Spring 框架,簡化了Spring應(yīng)用的初始化過程和開發(fā)流程,本文給大家介紹了如何基于SpringBoot創(chuàng)建Web頁面并熱更新,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • SpringBoot在Controller層接收參數(shù)的n種姿勢(超詳細(xì))

    SpringBoot在Controller層接收參數(shù)的n種姿勢(超詳細(xì))

    這篇文章主要介紹了SpringBoot在Controller層接收參數(shù)的常用方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • SpringMVC整合SSM實現(xiàn)異常處理器詳解

    SpringMVC整合SSM實現(xiàn)異常處理器詳解

    SpringMVC是一種基于Java,實現(xiàn)了Web MVC設(shè)計模式,請求驅(qū)動類型的輕量級Web框架,即使用了MVC架構(gòu)模式的思想,將Web層進(jìn)行職責(zé)解耦?;谡埱篁?qū)動指的就是使用請求-響應(yīng)模型,框架的目的就是幫助我們簡化開發(fā),SpringMVC也是要簡化我們?nèi)粘eb開發(fā)
    2022-10-10
  • 基于Java實現(xiàn)簡易的局域網(wǎng)對話系統(tǒng)

    基于Java實現(xiàn)簡易的局域網(wǎng)對話系統(tǒng)

    這篇文章主要介紹了基于Java實現(xiàn)的簡易的局域網(wǎng)對話系統(tǒng),文中的示例代碼對我們學(xué)習(xí)Java有一定的幫助,感興趣的小伙伴快來跟隨小編一起學(xué)習(xí)一下吧
    2021-12-12

最新評論