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

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

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

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

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

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

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

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

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

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

文本框?qū)R

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


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

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

清除鍵處理邏輯

等于鍵處理邏輯

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

注冊監(jiān)聽器

窗口關(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)先級的實(shí)現(xiàn)(需要數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)),進(jìn)一步提高思考和編程的能力。
到此這篇關(guān)于使用java編程從0到1實(shí)現(xiàn)一個(gè)簡單計(jì)算器的文章就介紹到這了,更多相關(guān)從0到1實(shí)現(xiàn)一個(gè)簡單計(jì)算器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java設(shè)置token有效期的5個(gè)應(yīng)用場景(雙token實(shí)現(xiàn))
Token最常見的應(yīng)用場景之一就是身份驗(yàn)證,本文主要介紹了Java設(shè)置token有效期的5個(gè)應(yīng)用場景(雙token實(shí)現(xiàn)),具有一定的參考價(jià)值,感興趣的可以來了解一下2024-04-04
springboot通用分支處理超級管理員權(quán)限邏輯
這篇文章主要為大家介紹了springboot通用分支處理超級管理員的權(quán)限邏輯,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
redis setIfAbsent和setnx的區(qū)別與使用說明
這篇文章主要介紹了redis setIfAbsent和setnx的區(qū)別與使用,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
java調(diào)用ffmpeg實(shí)現(xiàn)視頻轉(zhuǎn)換的方法
這篇文章主要介紹了java調(diào)用ffmpeg實(shí)現(xiàn)視頻轉(zhuǎn)換的方法,較為詳細(xì)分析了java視頻格式轉(zhuǎn)換所需要的步驟及具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-06-06
Array?Index?Out?of?Bounds:數(shù)組越界錯(cuò)誤解決方案及調(diào)試技巧
數(shù)組越界訪問是指訪問數(shù)組中超出其有效索引范圍的元素,這是一種常見的編程錯(cuò)誤,可能導(dǎo)致程序崩潰或數(shù)據(jù)損壞,下面這篇文章主要給大家介紹了關(guān)于Array?Index?Out?of?Bounds:數(shù)組越界錯(cuò)誤解決方案及調(diào)試技巧的相關(guān)資料,需要的朋友可以參考下2024-08-08
mybatis插入數(shù)據(jù)不返回主鍵id的可能原因及解決方式
這篇文章主要介紹了mybatis插入數(shù)據(jù)不返回主鍵id的可能原因及解決方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
mybatis-plus配置日志兩種實(shí)現(xiàn)方式
這篇文章主要給大家介紹了關(guān)于mybatis-plus配置日志兩種實(shí)現(xiàn)方式的相關(guān)資料,Mybatis-plus集成了日志框架,可以將程序運(yùn)行時(shí)產(chǎn)生的日志進(jìn)行記錄,方便開發(fā)人員進(jìn)行問題排查,需要的朋友可以參考下2023-09-09

