使用java編程從0到1實(shí)現(xiàn)一個(gè)簡(jiǎn)單計(jì)算器
學(xué)習(xí)編程語(yǔ)言最重要的就是實(shí)踐。很多小伙伴在學(xué)習(xí)完編程語(yǔ)言后,一直停留在基礎(chǔ)階段,只懂一大堆理論知識(shí),而不懂得實(shí)踐。那么,今天我們一起來(lái)動(dòng)手做一個(gè)小計(jì)算器,回顧下學(xué)習(xí)過(guò)的知識(shí),同時(shí)這也是很多大學(xué)計(jì)算機(jī)專(zhuān)業(yè)的期末作業(yè),應(yīng)該嘗試動(dòng)手并完全理解它。
開(kāi)始動(dòng)手
本次實(shí)驗(yàn)會(huì)用到Java Swing圖形組件進(jìn)行開(kāi)發(fā)
主要知識(shí)點(diǎn)
Java Swing界面的編程計(jì)算器運(yùn)算邏輯的實(shí)現(xiàn)
一、項(xiàng)目創(chuàng)建
打開(kāi)Eclipse,在文件的菜單File選擇 New -> Java Project

2.在Project name一欄填寫(xiě)項(xiàng)目名稱(chēng)Calculator(自定義),并點(diǎn)擊Finish按鈕完成創(chuàng)建

3.創(chuàng)建一個(gè)包package

4.在創(chuàng)建好的項(xiàng)目目錄src上右鍵點(diǎn)擊,菜單中選擇 New -> Class 來(lái)創(chuàng)建一個(gè)類(lèi)

5.在新建類(lèi)的對(duì)話(huà)框中填寫(xiě)類(lèi)名 Calculator(自定義),點(diǎn)擊 Finish 按鈕完成創(chuàng)建

二、代碼部分
未接觸過(guò)Swing的小伙伴可以先去下面的鏈接學(xué)習(xí)下入門(mén)的基礎(chǔ)知識(shí)
1.編寫(xiě)響應(yīng)邏輯的實(shí)現(xiàn)
定義存儲(chǔ)當(dāng)前被按下的操作數(shù)和操作符,result存儲(chǔ)運(yùn)算的結(jié)果

定義狀態(tài)開(kāi)關(guān)

定義JButton變量,存儲(chǔ)按下的鍵,定義一個(gè)Vector,儲(chǔ)存所有的輸入

UI組件創(chuàng)建
創(chuàng)建主窗體,按鈕和文本框

3.在構(gòu)造器中完成等效鍵的設(shè)置、UI組件添加進(jìn)容器、事件處理程序的設(shè)計(jì)、計(jì)算邏輯的實(shí)現(xiàn)以及窗口關(guān)閉事件的代碼編寫(xiě)的工作
等效鍵的設(shè)置(即可以通過(guò)對(duì)應(yīng)的鍵盤(pán)按鍵來(lái)代替點(diǎn)擊它)

文本框?qū)R

UI組件添加進(jìn)容器


事件處理程序
數(shù)字鍵處理邏輯

運(yùn)算符處理邏輯

清除鍵處理邏輯

等于鍵處理邏輯

小數(shù)點(diǎn)處理邏輯

注冊(cè)監(jiān)聽(tīng)器

窗口關(guān)閉

計(jì)算邏輯


三、運(yùn)行項(xiàng)目
實(shí)現(xiàn)效果如下

四、項(xiàng)目總結(jié)
本次實(shí)踐練習(xí)如何使用Swing進(jìn)行圖形界面的編程以及一些計(jì)算邏輯的實(shí)現(xiàn),也只是實(shí)現(xiàn)了基本的計(jì)算器功能的實(shí)現(xiàn),感興趣的可以自己動(dòng)手加一點(diǎn)東西,比如運(yùn)算符優(yōu)先級(jí)的實(shí)現(xiàn)(需要數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)),進(jìn)一步提高思考和編程的能力。
到此這篇關(guān)于使用java編程從0到1實(shí)現(xiàn)一個(gè)簡(jiǎn)單計(jì)算器的文章就介紹到這了,更多相關(guān)從0到1實(shí)現(xiàn)一個(gè)簡(jiǎn)單計(jì)算器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java多線(xiàn)程Thread , Future , Callable ,
本文主要介紹了Java多線(xiàn)程Thread , Future , Callable , FutureTask的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
Java之Spring認(rèn)證使用Profile配置運(yùn)行環(huán)境講解
這篇文章主要介紹了Java之Spring認(rèn)證使用Profile配置運(yùn)行環(huán)境講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
MybatisPlus使用代碼生成器遇到的小問(wèn)題(推薦)
這篇文章主要介紹了MybatisPlus使用代碼生成器遇到的小問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
Spring基于xml實(shí)現(xiàn)自動(dòng)裝配流程詳解
自動(dòng)裝配是使用spring滿(mǎn)足bean依賴(lài)的一種方法,spring會(huì)在應(yīng)用上下文中為某個(gè)bean尋找其依賴(lài)的bean,Spring中bean有三種裝配機(jī)制,分別是:在xml中顯式配置、在java中顯式配置、隱式的bean發(fā)現(xiàn)機(jī)制和自動(dòng)裝配2023-01-01
淺談mybatisPlus的Ipage分頁(yè)和map參數(shù)的問(wèn)題
這篇文章主要介紹了mybatisPlus的Ipage分頁(yè)和map參數(shù)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
聊聊Springboot2.x的session和cookie有效期
這篇文章主要介紹了Springboot2.x的session和cookie有效期,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09

