




已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)(論文)任務(wù)書 軟件學(xué)院 學(xué) 院 網(wǎng)絡(luò)工程 專 業(yè) 2006-2 班 一、課程設(shè)計(jì)(論文)題目 設(shè)計(jì)一個(gè)圖形界面的計(jì)算器,完成簡單的算術(shù)運(yùn)算 二、課程設(shè)計(jì)(論文)工作自 09 年 1 月 5 日起至 09 年 1 月 9 日止。三、課程設(shè)計(jì)(論文) 地點(diǎn): 信息工程學(xué)院中心機(jī)房 四、課程設(shè)計(jì)(論文)內(nèi)容要求:1本課程設(shè)計(jì)的目的(1)使學(xué)生鞏固和提高Java編程技術(shù)(2)培養(yǎng)學(xué)生掌握程序設(shè)計(jì)的基本思路和方法; (3)加強(qiáng)學(xué)生研發(fā)、調(diào)試程序的能力;(4)培養(yǎng)學(xué)生分析、解決問題的能力;(5)提高學(xué)生的科技論文寫作能力。2課程設(shè)計(jì)的任務(wù)及要求1)任務(wù):(1)設(shè)計(jì)的計(jì)算器應(yīng)用程序可以完成加法、減法、乘法、除法和取余運(yùn)算(2)計(jì)算器要有小數(shù)點(diǎn)、正負(fù)號(hào)、求倒數(shù)、退格和清零功能2)創(chuàng)新要求: 計(jì)算器附加有開平方根,平方,立方,判斷素?cái)?shù),求log的功能3)課程設(shè)計(jì)論文編寫要求(1)課程設(shè)計(jì)任務(wù)及要求(2)設(shè)計(jì)思路-工作原理、功能規(guī)劃(3)詳細(xì)設(shè)計(jì)-數(shù)據(jù)分析、算法思路、類設(shè)計(jì)、功能實(shí)現(xiàn)(含程序流程圖、主要代碼及注釋)、界面等。(4)運(yùn)行調(diào)試與分析討論-給出運(yùn)行屏幕截圖,分析運(yùn)行結(jié)果,有何改進(jìn)想法等。(5)設(shè)計(jì)體會(huì)與小結(jié)-設(shè)計(jì)遇到的問題及解決辦法,通過設(shè)計(jì)學(xué)到了哪些新知識(shí),鞏固了哪些知識(shí),有哪些提高。(6)參考文獻(xiàn)(必須按標(biāo)準(zhǔn)格式列出,可參考教材后面的參考文獻(xiàn)格式)(7) 報(bào)告按規(guī)定排版打印,要求裝訂平整,否則要求返工;(8) 課設(shè)報(bào)告的裝訂順序如下:封面-任務(wù)書-中文摘要-目錄-正文-附錄(代碼及相關(guān)圖片)(9)嚴(yán)禁抄襲,如有發(fā)現(xiàn),按不及格處理。4)答辯與評分標(biāo)準(zhǔn): (1)考勤:10分; (2)程序檢查:30分; (3)答辯回答問題:20分(3)課程設(shè)計(jì)報(bào)告:40分;5)參考文獻(xiàn):1 耿祥義.Java 2 實(shí)用教程(第三版)北京 清華大學(xué)出版社 2006.82 朱福喜Java語言程序設(shè)計(jì)北京 清華大學(xué)出版社20053 朱福喜,尹為民,余振坤Java語言與面向?qū)ο蟪绦蛟O(shè)計(jì)武漢 武漢大學(xué)出版社20026)課程設(shè)計(jì)進(jìn)度安排內(nèi)容 天數(shù)地點(diǎn)構(gòu)思及收集資料 7圖書館編碼與調(diào)試 5實(shí)驗(yàn)室撰寫論文 3圖書館、實(shí)驗(yàn)室學(xué)生簽名: 09 年 01月 05日課程設(shè)計(jì)(論文)評審意見(1)考勤(10分):優(yōu)()、良()、中()、一般()、差(); (2)程序檢查(30分):優(yōu)()、良()、中()、一般()、差(); (3)答辯回答問題(20分):優(yōu)()、良()、中()、一般()、差(); (4)設(shè)計(jì)報(bào)告(40分):優(yōu)()、良()、中()、一般()、差();評閱人: 職稱: 講師 年 月 日目錄一、課設(shè)任務(wù)及要求1二、需求分析2三、設(shè)計(jì)思路3四、詳細(xì)設(shè)計(jì)5五、運(yùn)行調(diào)試與分析討論9六、設(shè)計(jì)體會(huì)與小結(jié)14七、參考文獻(xiàn)15附錄16中文摘要 Java是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語言和Java平臺(tái)的總稱。用Java實(shí)現(xiàn)的HotJava瀏覽器,顯示了Java的魅力:跨平臺(tái)、動(dòng)感的Web、Internet計(jì)算。從此,Java被廣泛接受并推動(dòng)了Web的迅速發(fā)展,常用的瀏覽器現(xiàn)在均支持Java applet。另一方面,Java技術(shù)也不斷更新。Java平臺(tái)由Java虛擬機(jī)和Java 應(yīng)用編程接口構(gòu)成。Java 應(yīng)用編程接口為Java應(yīng)用提供了一個(gè)獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)接口,可分為基本部分和擴(kuò)展部分。在硬件或操作系統(tǒng)平臺(tái)上安裝一個(gè)Java平臺(tái)之后,Java應(yīng)用程序就可運(yùn)行。現(xiàn)在Java平臺(tái)已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運(yùn)行。 Java分為三個(gè)體系J2SE,J2EE,J2ME。說起計(jì)算器,值得我們驕傲的是,最早的計(jì)算工具的誕生地是中國。在17世紀(jì)初,西方國家的計(jì)算工具才有了較大的發(fā)展,英國數(shù)學(xué)家納皮爾發(fā)明的納皮爾算籌,英國牧師奧卻德發(fā)明了圓柱型對數(shù)計(jì)算尺,這種計(jì)算尺不僅能做加減乘除、乘方、開方運(yùn)算,甚至可以計(jì)算三角函數(shù),指數(shù)函數(shù)和對數(shù)函數(shù),這些計(jì)算工具不僅帶動(dòng)了計(jì)算器的發(fā)展,也為現(xiàn)代計(jì)算器發(fā)展奠定了良好的基礎(chǔ),進(jìn)而成為了現(xiàn)代社會(huì)應(yīng)用廣泛的計(jì)算工具。關(guān)鍵詞:java Java平臺(tái) 計(jì)算器一、 課設(shè)任務(wù)及要求1.課設(shè)任務(wù)這次課程設(shè)計(jì)選擇的題目為設(shè)計(jì)一個(gè)圖形界面(GUI)的計(jì)算器應(yīng)用程序,完成簡單的算術(shù)運(yùn)算。這次課程設(shè)計(jì)的基本要求為設(shè)計(jì)的計(jì)算器應(yīng)用程序可以完成加法、減法、乘法、除法和取余運(yùn)算,且有小數(shù)點(diǎn)、正負(fù)號(hào)、求倒數(shù)、退格和清零功能。拓展功能根據(jù)自己的能力添加。這次課程設(shè)計(jì)的我選擇添加的拓展功能為開平方根,平方,立方,判斷素?cái)?shù),求log的功能。本程序主要練習(xí)使用布局管理器設(shè)計(jì)一個(gè)計(jì)算器的界面,并練習(xí)使用事件監(jiān)聽器處理數(shù)據(jù)的輸入,并完成相關(guān)的計(jì)算。數(shù)據(jù)和運(yùn)算符號(hào)的存儲(chǔ)采用動(dòng)態(tài)鏈表這種數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。這次課程設(shè)計(jì)選擇的Java運(yùn)行環(huán)境為:Windows XP sp3 +Eclipse+JDK 1.6二、需求分析1.系統(tǒng)功能需求分析 計(jì)算器是現(xiàn)在一個(gè)普遍應(yīng)用的工具,能夠解決許多人所無法計(jì)算的數(shù)據(jù),節(jié)省大量寶貴的時(shí)間。2.系統(tǒng)功能分析為了實(shí)現(xiàn)計(jì)算器系統(tǒng)的功能主要有二個(gè)功能模塊:輸入、輸出。3.系統(tǒng)設(shè)計(jì)原則基于計(jì)算器系統(tǒng)要具有適用性廣、操作簡便等特點(diǎn)本系統(tǒng)預(yù)計(jì)要達(dá)到以下幾個(gè)目標(biāo):(1)、滿足以上的功能要求;(2)、能夠運(yùn)行在常見的計(jì)算機(jī)及其配置上;三、設(shè)計(jì)思路1.關(guān)于布局問題 本次課程設(shè)計(jì)程序繼承來自框架類(Frame),總體布局上選用布局管理器BorderLayout:(1)將單行文本框加入到“North”區(qū)域(2)將面板panel加入到“Center”區(qū)域,同時(shí)panel包含了各種數(shù)字按鈕和符號(hào)按鈕。面板panel采用Girdlayout布局,選用5行*5列,將各種按鈕添加到面板panel,并增加按鈕監(jiān)聽事件。布局完成后的效果圖如下:2.關(guān)于數(shù)據(jù)存儲(chǔ)問題計(jì)算器完成的是一個(gè)數(shù)學(xué)表達(dá)式,本次課程設(shè)計(jì)我選用的是使用鏈表(Linkedlist類)來存儲(chǔ)數(shù)字和運(yùn)算符號(hào)。程序運(yùn)行后,輸入的所有數(shù)字及運(yùn)算符號(hào)都全部存儲(chǔ)在鏈表中,待最后運(yùn)算時(shí),再一一求出來進(jìn)行計(jì)算。3.關(guān)于事件監(jiān)聽的處理問題計(jì)算器的各種按鈕都需要一個(gè)對象來進(jìn)行監(jiān)視,以便對發(fā)生的事件做出處理。計(jì)算器的各種按鈕通過調(diào)用相應(yīng)的方法將某個(gè)對象作為自己的監(jiān)視器。例如計(jì)算器中的數(shù)字按鈕,其方法為: AddActionListener(監(jiān)視器);對于獲取了監(jiān)視器的數(shù)字按鈕,通過相應(yīng)的操作就會(huì)導(dǎo)致事件的發(fā)生,并通知監(jiān)視器,監(jiān)視器就會(huì)做出相應(yīng)的處理。四、詳細(xì)設(shè)計(jì)1.計(jì)算器系統(tǒng)主要功能模塊(1)、系統(tǒng)主要模塊實(shí)現(xiàn)的功能系統(tǒng)輸入模塊實(shí)現(xiàn)數(shù)字以及計(jì)算符號(hào)輸入的功能,輸出模塊的結(jié)果在文本框中實(shí)現(xiàn)顯示。(2)、系統(tǒng)輸入窗體實(shí)現(xiàn)的效果系統(tǒng)輸入窗體設(shè)計(jì)效果如圖所示:上圖為按數(shù)字鍵1234567890后,在文本框中的顯示(3)、系統(tǒng)主要模塊功能描述功能描述:菜單項(xiàng)“計(jì)算器”主要服務(wù)于使用者它包含了“輸入”、“輸出”、兩個(gè)功能。輸入功能:當(dāng)使用者將數(shù)字輸入后,會(huì)出現(xiàn)數(shù)字的顯示;當(dāng)使用者將計(jì)算符號(hào)輸入時(shí)候會(huì)有計(jì)算符號(hào)的錄入。輸出功能:點(diǎn)擊“輸出”選項(xiàng)后可實(shí)現(xiàn)計(jì)算的結(jié)果。2.系統(tǒng)的實(shí)現(xiàn) (1)系統(tǒng)源文件類之間的關(guān)系 計(jì)算器系統(tǒng)共有3個(gè)java源文件:Calculator,NumberButton,OperationButton。主要類之間的主要關(guān)系如圖下圖所示計(jì)算器系統(tǒng)的類關(guān)系圖2、系統(tǒng)源文件類實(shí)現(xiàn)的功能Calculator.java文件生成的類該JAVA文件生成的類負(fù)責(zé)創(chuàng)建計(jì)算器的主窗口及各種運(yùn)算的實(shí)現(xiàn)。該類含有main方法,整個(gè)程序從此類開始執(zhí)行NumberButton.java該文件生成的類負(fù)責(zé)為主類創(chuàng)建數(shù)字按鈕對象,使用鼠標(biāo)單擊數(shù)字按鈕可依次輸入?yún)⒓舆\(yùn)算的數(shù)值的各位數(shù)字OperationButton.java該文件生成的類負(fù)責(zé)為主類創(chuàng)建運(yùn)算符號(hào)按鈕對象。使用鼠標(biāo)單擊運(yùn)算符號(hào)可選擇所要進(jìn)行的運(yùn)算下表為表格形式序號(hào)文件名主要功能1Calculator.java該JAVA文件生成的類負(fù)責(zé)創(chuàng)建計(jì)算器的主窗口。該類含有main方法,整個(gè)程序從此類開始執(zhí)行2NumberButton.java該文件生成的類負(fù)責(zé)為主類創(chuàng)建數(shù)字按鈕對象,使用鼠標(biāo)單擊數(shù)字按鈕可依次輸入?yún)⒓舆\(yùn)算的數(shù)值的各位數(shù)字3OperationButton.java該文件生成的類負(fù)責(zé)為主類創(chuàng)建運(yùn)算符號(hào)按鈕對象。使用鼠標(biāo)單擊運(yùn)算符號(hào)可選擇所要進(jìn)行的運(yùn)算.3. 系統(tǒng)類的成員變量及方法描述(1) 主類Calculator 成員變量Calculator類成員變量表成員變量描述變量類型名稱數(shù)字按鈕數(shù)組NumberButtonNumberButton運(yùn)算符號(hào)按鈕數(shù)組OperationButtonOperationButton小數(shù)點(diǎn)按鈕JButton小數(shù)點(diǎn)按鈕正負(fù)號(hào)按鈕JButton正負(fù)號(hào)按鈕退格按鈕JButton退格按鈕平方按鈕JButton平方按鈕清零按鈕JButton清零按鈕等號(hào)按鈕JButton等號(hào)按鈕顯示計(jì)算結(jié)果JTextFieldresultShow儲(chǔ)存數(shù)據(jù)的鏈表LinkedListmylist求平方根JButtonsqrt判斷素?cái)?shù)JButton素?cái)?shù)logJButtonlog立方按鈕JButton立方按鈕倒數(shù)按鈕JButton倒數(shù)按鈕方法Calculator類方法名稱功能備注Calculator創(chuàng)建窗口構(gòu)造方法ActionPerfomed處理ActionPerfomed事件接口方法Main程序開始運(yùn)行(2)NumberButton類 成員變量NumberButton類變量成員變量描述變量類型名稱按鈕代表的數(shù)字Intnumber方法NumberButton類方法方法名功能備注NumberButton創(chuàng)建數(shù)字按鈕構(gòu)造方法getNumber獲取按鈕代表的數(shù)字(3)OperationButton類成員變量OperationButton類成員變量成員變量描述變量類型名稱按鈕代表的符號(hào)StringOperator方法OperationButton類方法方法名功能備注OperationButton創(chuàng)建符號(hào)按鈕構(gòu)造方法getOperator獲取按鈕代表的符號(hào)五、運(yùn)行調(diào)試與分析討論1.測試加法運(yùn)算 按鍵12+20 得出的結(jié)果如下圖2. 測試減法運(yùn)算 按鍵12-20 得出的結(jié)果如下圖3. 測試乘法運(yùn)算 按鍵12*20 得出的結(jié)果如下圖4. 測試除法運(yùn)算 按鍵12/20 得出的結(jié)果如下圖5測試退格運(yùn)算,按鍵123456789,按退格鍵3次,得到的結(jié)果如下圖6.測試倒數(shù)運(yùn)算,按鍵5,再按倒數(shù)鍵“1/X”,得到的結(jié)果如下圖7.測試平方鍵,按鍵4,再按平方鍵,得到的結(jié)果如下圖8. 測試立方鍵,按鍵4,再按立方鍵,得到的結(jié)果如下圖9.測試開平方鍵,按鍵4,再按鍵“sqrt”,得到的結(jié)果如下圖10. .測試素?cái)?shù)鍵,按鍵29,再按鍵“素?cái)?shù)”,得到的結(jié)果如下圖第 13 頁 六、設(shè)計(jì)體會(huì)與小結(jié)這次課程設(shè)計(jì)總體上來說難度不大,但是個(gè)別細(xì)節(jié)遇到很多的問題。在課設(shè)過程中,我自己學(xué)習(xí)了swing的使用以及數(shù)據(jù)結(jié)構(gòu)中的鏈表用java的實(shí)現(xiàn)。在這次課程設(shè)計(jì)中,我學(xué)習(xí)到了很多布局方面的知識(shí),還有就是鏈表的實(shí)現(xiàn)。數(shù)據(jù)結(jié)構(gòu)已經(jīng)很久沒有用過了,剛上手時(shí)感覺有些生疏,但是隨著時(shí)間的推移,用java實(shí)現(xiàn)鏈表也漸漸的變得順手了。這次課程設(shè)計(jì)的程序構(gòu)架很簡單,沒有用到很困難的算法,但是這樣編寫出來的程序也有優(yōu)點(diǎn),就是修改的時(shí)候一目了然??偟膩碚f,時(shí)間雖緊,這次課程設(shè)計(jì)學(xué)習(xí)的東西很是挺多的。最后感謝在課程設(shè)計(jì)中幫助過我的同學(xué)和老師。第 33 頁 七、參考文獻(xiàn)1 耿祥義.Java 2 實(shí)用教程(第三版)北京 清華大學(xué)出版社 2006.82 朱福喜Java語言程序設(shè)計(jì)北京 清華大學(xué)出版社20053 朱福喜,尹為民,余振坤Java語言與面向?qū)ο蟪绦蛟O(shè)計(jì)武漢 武漢大學(xué)出版社2002附錄 程序代碼package TZB;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import java.util.LinkedList;public class Calculator extends JFrame implements ActionListener NumberButton numberButton;OperationButton oprationButton;JButton 小數(shù)點(diǎn)按鈕, 正負(fù)號(hào)按鈕, 退格按鈕, 平方按鈕, 等號(hào)按鈕, 清零按鈕, sqrt, 素?cái)?shù), log, 立方按鈕, 倒數(shù)按鈕;JPanel panel;JTextField resultShow;String 運(yùn)算符號(hào) = +, -, *, / ;LinkedList mylist;boolean 等號(hào) = false;JTextArea blank;/ GUI的設(shè)計(jì) 及監(jiān)視器的添加public Calculator() super(計(jì)算器);mylist = new LinkedList();numberButton = new NumberButton10;for (int i = 0; i = 9; i+) numberButtoni = new NumberButton(i);numberButtoni.addActionListener(this);oprationButton = new OperationButton4;for (int i = 0; i 4; i+) oprationButtoni = new OperationButton(運(yùn)算符號(hào)i);oprationButtoni.addActionListener(this);小數(shù)點(diǎn)按鈕 = new JButton(.);正負(fù)號(hào)按鈕 = new JButton(+/-);等號(hào)按鈕 = new JButton(=);平方按鈕 = new JButton(平方);立方按鈕 = new JButton(立方);倒數(shù)按鈕 = new JButton(1/x);退格按鈕 = new JButton(退格);清零按鈕 = new JButton(C);sqrt = new JButton(sqrt);log = new JButton(log);素?cái)?shù) = new JButton(素?cái)?shù));清零按鈕.setForeground(Color.blue);退格按鈕.setForeground(Color.blue);等號(hào)按鈕.setForeground(Color.blue);平方按鈕.setForeground(Color.blue);立方按鈕.setForeground(Color.blue);倒數(shù)按鈕.setForeground(Color.blue);正負(fù)號(hào)按鈕.setForeground(Color.blue);小數(shù)點(diǎn)按鈕.setForeground(Color.blue);sqrt.setForeground(Color.blue);log.setForeground(Color.blue);素?cái)?shù).setForeground(Color.blue);退格按鈕.addActionListener(this);清零按鈕.addActionListener(this);等號(hào)按鈕.addActionListener(this);小數(shù)點(diǎn)按鈕.addActionListener(this);正負(fù)號(hào)按鈕.addActionListener(this);平方按鈕.addActionListener(this);立方按鈕.addActionListener(this);倒數(shù)按鈕.addActionListener(this);sqrt.addActionListener(this);log.addActionListener(this);素?cái)?shù).addActionListener(this);resultShow = new JTextField(10);resultShow.setHorizontalAlignment(JTextField.RIGHT);resultShow.setForeground(Color.blue);resultShow.setFont(new Font(TimesRoman, Font.PLAIN, 24);resultShow.setBorder(new SoftBevelBorder(BevelBorder.LOWERED);resultShow.setBackground(Color.white);resultShow.setEditable(false);panel = new JPanel();panel.setLayout(new GridLayout(5, 5); / GridLayout布局 5*5panel.add(numberButton1);panel.add(numberButton2);panel.add(numberButton3);panel.add(oprationButton0);panel.add(清零按鈕);panel.add(numberButton4);panel.add(numberButton5);panel.add(numberButton6);panel.add(oprationButton1);panel.add(退格按鈕);panel.add(numberButton7);panel.add(numberButton8);panel.add(numberButton9);panel.add(oprationButton2);panel.add(倒數(shù)按鈕);panel.add(numberButton0);panel.add(正負(fù)號(hào)按鈕);panel.add(小數(shù)點(diǎn)按鈕);panel.add(oprationButton3);panel.add(等號(hào)按鈕);panel.add(sqrt);panel.add(立方按鈕);panel.add(素?cái)?shù));panel.add(log);panel.add(平方按鈕);add(panel, BorderLayout.CENTER);add(resultShow, BorderLayout.NORTH);addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0););setVisible(true);setBounds(400, 240, 400, 300);setResizable(true);validate();public void actionPerformed(ActionEvent e) if (e.getSource() instanceof NumberButton) / 觸發(fā)數(shù)字NumberButton b = (NumberButton) e.getSource();if (mylist.size() = 0) int number = b.getNumber();mylist.add( + number);/ 查看鏈表動(dòng)態(tài)變化for (int i = 0; i mylist.size(); i+) System.out.print(mylist.get(i) + );System.out.println();resultShow.setText( + number);等號(hào) = false;else if (mylist.size() = 1 & 等號(hào) = false) int number = b.getNumber();String num = (String) mylist.getFirst();String s = num.concat( + number);mylist.set(0, s);/ 查看鏈表動(dòng)態(tài)變化for (int i = 0; i mylist.size(); i+) System.out.print(mylist.get(i) + );System.out.println();resultShow.setText(s); else if (mylist.size() = 1 & 等號(hào) = true) int number = b.getNumber();mylist.removeFirst();mylist.add( + number);/ 查看鏈表動(dòng)態(tài)變化for (int i = 0; i mylist.size(); i+) System.out.print(mylist.get(i) + );System.out.println();等號(hào) = false;resultShow.setText( + number); else if (mylist.size() = 2) int number = b.getNumber();mylist.add( + number);/ 查看鏈表動(dòng)態(tài)變化for (int i = 0; i mylist.size(); i+) System.out.print(mylist.get(i) + );System.out.println();resultShow.setText( + number); else if (mylist.size() = 3) int number = b.getNumber();String num = (String) mylist.getLast();String s = num.concat( + number);mylist.set(2, s);/ 查看鏈表動(dòng)態(tài)變化for (int i = 0; i mylist.size(); i+) System.out.print(mylist.get(i) + );System.out.println();resultShow.setText(s); else if (e.getSource() instanceof OperationButton) / 觸發(fā)運(yùn)算符OperationButton b = (OperationButton) e.getSource();if (mylist.size() = 1) String fuhao = b.get運(yùn)算符號(hào)();mylist.add(fuhao);/ 查看鏈表動(dòng)態(tài)變化for (int i = 0; i mylist.size(); i+) System.out.print(mylist.get(i) + );System.out.println(); else if (mylist.size() = 2) String fuhao = b.get運(yùn)算符號(hào)();mylist.set(1, fuhao);/ 查看鏈表動(dòng)態(tài)變化for (int i = 0; i mylist.size(); i+) System.out.print(mylist.get(i) + );System.out.println(); else if (mylist.size() = 3) String fuhao = b.get運(yùn)算符號(hào)();/ 查看鏈表動(dòng)態(tài)變化for (int i = 0; i mylist.size(); i+) System.out.print(mylist.get(i) + );System.out.println();String number1 = (String) mylist.getFirst();String number2 = (String) mylist.getLast();String 運(yùn)算符號(hào) = (String) mylist.get(1);try double n1 = Double.parseDouble(number1);double n2 = Double.parseDouble(number2);double n = 0;if (運(yùn)算符號(hào).equals(+) n = n1 + n2; else if (運(yùn)算符號(hào).equals(-) n = n1 - n2; else if (運(yùn)算符號(hào).equals(*) n = n1 * n2; else if (運(yùn)算符號(hào).equals(/) n = n1 / n2; else if (運(yùn)算符號(hào).equals(sqrt) double g = Math.sqrt(n2);String s = String.valueOf(g);mylist.clear();mylist.add( + n);mylist.add(fuhao);/ 查看鏈表動(dòng)態(tài)變化for (int i = 0; i mylist.size(); i+) System.out.print(mylist.get(i) + );System.out.println();resultShow.setText( + n); catch (Exception ee) else if (e.getSource() = 等號(hào)按鈕) / 等號(hào)操作的處理等號(hào) = true;if (mylist.size() = 1 | mylist.size() = 2) String num = (String) mylist.getFirst();for (int i = 0; i mylist.size(); i+) System.out.print(mylist.get(i) + );System.out.println();resultShow.setText( + num); else if (mylist.size() = 3) String number1 = (String) mylist.getFirst();String number2 = (String) mylist.getLast();String 運(yùn)算符號(hào) = (String) mylist.get(1);try double n1 = Double.parseDouble(number1);double n2 = Double.parseDouble(number2);double n = 0;if (運(yùn)算符號(hào).equals(+) n = n1 + n2; else if (運(yùn)算符號(hào).equals(-) n = n1 - n2; else if (運(yùn)算符號(hào).equals(*) n = n1 * n2; else if (運(yùn)算符號(hào).equals(/) n = n1 / n2;resultShow.setText( + n);mylist.set(0, + n);mylist.removeLast();mylist.removeLast();for (int i = 0; i = 1) num = num.substring(0, num.length() - 1);mylist.set(0, num);resultShow.setText(num); else mylist.removeLast();resultShow.setText(0); else if (mylist.size() = 3) String num = (String) mylist.getLast();if (num.length() = 1) num = num.substring(0, num.length() - 1);mylist.set(2, num);resultShow.setText(num); else mylist.removeLast();resultShow.setText(0);else if (e.getSource() = sqrt)/ sqrt按鈕操作的處理if (mylist.size() = 1 | mylist.size() = 2) String number1 = (String) mylist.getFirst();try double d = Double.parseDouble(number1);d = Math.sqrt(d);String str = String.valueOf(d);mylist.set(0, str);resultShow.setText(str); catch (Exception ee) else if (mylist.size() = 3) String number2 = (String) mylist.getLast();try double d = Double.parseDouble(number2);d = Math.sqrt(d);String str = String.valueOf(d);mylist.set(0, str);resultShow.setText(str); catch (Exception ee) else if (e.getSource() = 素?cái)?shù))/ 素?cái)?shù)按鈕操作的處理int d;int flag = 1;if (mylist.size() = 1 | mylist.size() = 2) String number1 = (String) mylist.getFirst();try try d = Integer.parseInt(number1); catch (java.lang.NumberFormatException nfe) flag = 3;d = 0;for (int i = 2; i d / 2; i+) if (d % i = 0)flag = 2;break;if (flag = 1)resultShow.setText(輸入的數(shù)為素?cái)?shù));else if (flag = 2)resultShow.setText(輸入的數(shù)不是素?cái)?shù));elseresultShow.setText(請輸入正整數(shù)); catch (Exception ee) else if (mylist.size() = 3) String number2 = (String) mylist.getLast();d = Integer.parseInt(number2);try try d = Integer.parseInt(number2); catch (java.lang.NumberFormatException nfe) flag = 3;d = 0;for (int i = 2; i d / 2; i+) if (d % i = 0);flag = 2;break;if (flag = 1)resultShow.setText(輸入的數(shù)為素?cái)?shù));else if (flag = 2)resultShow.setText(輸入的數(shù)不是素?cái)?shù));elseresultShow.setText(請輸入整數(shù)); catch (Exception ee) else if (e.getSource() = 正負(fù)號(hào)按鈕) / 正負(fù)號(hào)按鈕操作的處理if (mylist.size() = 1) String number1 = (String) mylist.getFirst();try double d = Double.parseDouble(number1);d = -1 * d;String str = String.valueOf(d);mylist.set(0, str);resultShow.setText(str); catch (Exception ee) else if (mylist.size() = 3) String number2 = (String) mylist.getLast();try double d = Double.parseDouble(number2);d = -1 * d;String str = String.valueOf(d);mylist.set(2, str);resultShow.setText(str); catch (Exception ee) e
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能建筑光伏逆變器租賃與智能電網(wǎng)接入服務(wù)合同
- 保險(xiǎn)理賠債務(wù)結(jié)算確認(rèn)及賠付期限協(xié)議
- 新版gsp計(jì)算機(jī)培訓(xùn)試題及答案
- 股權(quán)激勵(lì)計(jì)劃實(shí)施與考核協(xié)議
- 抖音短視頻內(nèi)容營銷代運(yùn)營與IP孵化合作協(xié)議書
- 校招英文結(jié)構(gòu)化面試題目及答案
- 婚內(nèi)忠誠協(xié)議附件清單制作及效力鑒定合同
- 工業(yè)機(jī)器人編程教育與科研合作合同
- 生物醫(yī)藥研發(fā)團(tuán)隊(duì)組建與培訓(xùn)咨詢合同
- 校招小學(xué)音樂面試題目及答案
- 2025年陜西省八年級中考三模生物試題(原卷版+解析版)
- 高分子化學(xué)材料結(jié)構(gòu)與性能試題及答案
- 特種設(shè)備操作人員培訓(xùn)管理制度
- 客服質(zhì)檢管理競聘述職報(bào)告
- 2025年湖北省孝感市中考物理模擬試卷(3月份)(含解析)
- 2024年四年級英語下冊 Module 4 Things we enjoy Unit 12 The ugly duckling第1課時(shí)教學(xué)實(shí)錄 牛津滬教版(三起)
- 2025年煤化工主要設(shè)備一覽及工作原理等分析
- ICU醫(yī)院感染暴發(fā)應(yīng)急處置演練方案
- 中外教育史知到課后答案智慧樹章節(jié)測試答案2025年春泰山學(xué)院
- 基礎(chǔ)有機(jī)化學(xué)實(shí)驗(yàn)知到智慧樹章節(jié)測試課后答案2024年秋浙江大學(xué)
- 特種設(shè)備安全管理的法律法規(guī)遵守培訓(xùn)計(jì)劃
評論
0/150
提交評論