版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、目錄一 緒論 4二 設(shè)計思路 42.1 工作原理圖 . .42.2 功能規(guī)劃 .5三 具體實現(xiàn) 53.1 類設(shè)計與功能實現(xiàn).53.2 界面 .5四 運行調(diào)試與分析討論 94.1 運行屏幕截圖與分析 .94.2 改進想法 .12五 設(shè)計體會與小結(jié) 12六 參考文獻12七 附錄 13一 題目內(nèi)容及要求:我選擇的是“復(fù)雜計算器的設(shè)計”,其目的主要是因為windows里有計算器,可以參照那個模板,并且對界面很熟悉,做起來更得心應(yīng)手。其次,我對鏈接數(shù)據(jù)庫還不太熟練,計算器可以由代碼直接生成,更符合我的知識水平。設(shè)計一個圖形界面(gui)的復(fù)雜計算器應(yīng)用程序,其組件包括09,+、-、*、/、c=按鈕,顯示
2、屏文本行和菜單。其功能完成簡單的加法、減法、乘法、除法算術(shù)運算,具有進制轉(zhuǎn)換功能,能關(guān)閉窗口,點擊按鈕或鍵盤數(shù)字會在現(xiàn)實屏上輸出結(jié)果。在計算器的界面上小數(shù)點、正負(fù)號、求倒數(shù)、退格和清零按鈕要實現(xiàn)其功能練習(xí)使用布局管理器設(shè)計一個計算器的界面,并練習(xí)使用事件監(jiān)聽器處理數(shù)據(jù)的輸入,并完成相關(guān)的計算。在我的計算器上實現(xiàn)了以上要求的基本功能,其界面參照系統(tǒng)的計算器。選中菜單項“查看”中的“標(biāo)準(zhǔn)型”菜單子項,可以實現(xiàn)其加減乘除基本運算,選中“科學(xué)型“可以實現(xiàn)進制之間的轉(zhuǎn)換。在菜單項條中也設(shè)置了“編輯”,“幫助”等菜單項,點擊相關(guān)按鈕可實現(xiàn)相關(guān)其功能。二 設(shè)計思路 2.1工作原理圖: 2.2功能規(guī)劃: 在本
3、程序中主要有四個類,分別是 jisuanqi , computepad ,numberbutton,operationbutton,其主類是jisuanqi。主類jisuanqi主要實現(xiàn)二,八,十 ,十六之間進制轉(zhuǎn)換,但不能實現(xiàn)加減乘除基本運算。computepad類,在此類中主要實現(xiàn)“查看”中的“標(biāo)準(zhǔn)型”,即實現(xiàn)十進制的加減乘除基本運算。在此類中記入numberbutton,operationbutton類,簡化程序。在菜單條中設(shè)置了“編輯”,“查看”“幫助”等菜單項,“編輯”中可實現(xiàn)“復(fù)制”“粘帖”功能,在“查看”中可以選擇“科學(xué)型”“標(biāo)準(zhǔn)型”在“幫助”中實現(xiàn)“關(guān)于計算器”“作者主頁”點擊
4、相關(guān)按鈕可實現(xiàn)相關(guān)其功能。三 具體實現(xiàn) 3.1類設(shè)計及功能實現(xiàn):(1) 主類jisuanqi,即是“查看”中的科學(xué)性,主要實現(xiàn)二,八,十,十六之間進制轉(zhuǎn)換,但不能實現(xiàn)加減乘除基本運算。引入的包有:package my;import javax.swing.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; 3.2 界面如下:圖3.1界面設(shè)計思路:創(chuàng)建容器cp,創(chuàng)建3個面板cp1,cp2,cp3并加入到cp中,三個面板按照邊緣布局,cp.add(cp1,"north"); cp.
5、add(cp2,"center"); cp.add(cp3,"south");在cp1中放置文本框,在cp2中放置進制和c,ce,backspace按鈕,剩余的放置在cp3中。功能設(shè)計思路:先獲取點擊或者輸入的數(shù)字,再將其轉(zhuǎn)換成十進制。代碼如下:int jin=10;string hex=text.gettext(); int inthex=integer.parseint(hex,jin);/先把數(shù)變?yōu)?0進制 text.settext(convert.dechex(inthex);再將十進制轉(zhuǎn)換成相應(yīng)進制。代碼如下:例string strdecnum
6、 = integer.tostring(decnum); /10 for (int i = strdecnum.length(); i < 3; i+) strdecnum = "0" + strdecnum; / return strdecnum; return invert (strdecnum, 5); string strhexnum = "" /10 to 16 int currentnum = 0; while (decnum != 0) if (decnum > 15) currentnum = decnum % 16; dec
7、num /= 16; else currentnum = decnum; decnum = 0; 選中相應(yīng)的進制后,鍵盤上數(shù)字會有相應(yīng)的顯示和隱藏,例如,在選中十進制后,a,b,c,d,e,f就會隱藏。代碼如下: (部分) aa.setenabled(false); /a bb.setenabled(false); /b在菜單條中設(shè)置了“編輯”,“查看”“幫助”等菜單項,“編輯”中可實現(xiàn)“復(fù)制”“粘帖”功能,在“查看”中可以選擇“科學(xué)型”“標(biāo)準(zhǔn)型”在“幫助”中實現(xiàn)“關(guān)于計算器”“作者主頁”點擊相關(guān)按鈕可實現(xiàn)相關(guān)其功能。代碼如下:(一部分)if(temp=copy) copycontent =
8、text.gettext(); if(temp=about) joptionpane.showmessagedialog(frame," java計算器 孫丹丹","關(guān)于計算器",joptionpane.information_message); ; if(temp=me) try process p = runtime.getruntime().exec("explorer "); catch(exception eeee) 實現(xiàn)關(guān)閉窗口函數(shù),代碼如下: class windowdestroyer extends windowada
9、pter /退出窗口動作 public void windowclosing(windowevent e) system.exit(0); 實現(xiàn)正負(fù)號的轉(zhuǎn)換:if (isnumber = true) /如果當(dāng)前字符串首字母有'-'號,代表現(xiàn)在是個負(fù)數(shù),再按下時,則將首符號去掉 if (s.charat(0) = '-') text.settext("");對窗體事件進行監(jiān)聽,在監(jiān)聽者的windowclosing方法中實現(xiàn)窗口的關(guān)閉處理。在處理窗體的“關(guān)閉”事件的監(jiān)聽者則采用繼承windowadapter的方式。 class closew ex
10、tends windowadapter/關(guān)閉窗口功能public void windowclosing(windowevent e)system.exit(0);(2) computepad類,在此類中主要實現(xiàn)“查看”中的“標(biāo)準(zhǔn)型”,即實現(xiàn)十進制的加減乘除基本運算。引入的包:package my;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import my.jisuanqi.windowdestroyer;import java.util.linkedli
11、st;import java.text.numberformat;界面如下:圖3.2界面設(shè)計思路:,一開始先把圖形界面的布局考慮好。首先是計算機顯示輸入及輸出的文本框:jtextfield field=new jtextfield(17);/定義最上面那個框,括號里的數(shù)字是框的長度界面采用邊緣布局,panel.setlayout(new gridlayout(4,5);四行五列排放。設(shè)計比較簡單。功能設(shè)計思路:次程序借助鏈表存儲數(shù)據(jù)及符號。并運用了numberbutton類來定義按鈕上的數(shù)字,operationbutton類來定義按鈕上的符號,先獲取按鈕上的數(shù)字,代碼如下:if(e.getso
12、urce() instanceof numberbutton)numberbutton b=(numberbutton)e.getsource(); if(鏈表.size()=0) int number=b.getnumber(); /獲取按鈕上的數(shù)字 鏈表.add(" "+number); resultshow.settext(" "+number); 是否按下等號=false;在鏈表中根據(jù)鏈表的長度和是否按下等號來判斷是輸出數(shù)字還是進行結(jié)算,代碼如下: else if (e.getsource()=等號按鈕)是否按下等號=true;if(鏈表.siz
13、e()=1|鏈表.size()=2) string num=(string)鏈表.getfirst();resultshow.settext(""+num);如果按下等號切鏈表長度為3,則取中間的為運算符號,代碼如下:else if(鏈表.size()=3)string number1=(string)鏈表.getfirst();string number2=(string)鏈表.getlast();string 運算符號=(string)鏈表.get(1);進行加減乘除運算時判斷符號類型,并返回計算后的數(shù)值。(部分代碼)if(運算符號.equals("+&quo
14、t;)n=n1+n2;else if(運算符號.equals("/") n=n1/n2;resultshow.settext(""+n); 菜單條中的設(shè)置和方法也主類一致.在實現(xiàn)“科學(xué)型”與“標(biāo)準(zhǔn)型”之間的轉(zhuǎn)換時應(yīng)用的代碼: 標(biāo)準(zhǔn)型.addactionlistener(/標(biāo)準(zhǔn)型和科學(xué)型進行切換new actionlistener()public void actionperformed(actionevent e)/處理事件new computerpad();/生成一個科學(xué)計算機的對象 就會出現(xiàn)科學(xué)計算器的窗口exit(); (3)numberbutto
15、n,operationbutton類主要是實現(xiàn)獲取數(shù)字鍵上的數(shù)字和符號鍵上的符號,并返回按鈕上的字符,用for循環(huán)直接可定義10個數(shù)字和4個運算符號,可以簡化程序。for (int i=0;i<4;i+)operationbuttoni=new operationbutton(運算符號i);operationbuttoni.addactionlistener(this);四運行調(diào)試與分析討論 4.1 運行屏幕截圖與分析:1.運行主類后,進行運算,首先選中十進制,并從鍵盤上輸入445后,如圖: 圖4.12.在將其轉(zhuǎn)換成十六進制,選中十六進制后,如圖顯示: 圖4.23.當(dāng)選中十六進制后,鍵盤
16、上的數(shù)字全部顯示。經(jīng)計算后校對結(jié)果準(zhǔn)確。在選中八進制后,如圖顯示: 圖4.34.經(jīng)計算后校對結(jié)果準(zhǔn)確。在選中二進制后,如圖顯示: 圖4.45.經(jīng)計算后校對結(jié)果準(zhǔn)確。在點擊正負(fù)號后,如圖顯示: 圖4.56.由于原來得到的是正數(shù),點擊正負(fù)號后,變成負(fù)數(shù)。既主類實現(xiàn)了進制的轉(zhuǎn)換,并且計算無誤,測試成功。點擊“編輯”則出現(xiàn)“復(fù)制 ”“粘帖”功能均可實現(xiàn)。當(dāng)點擊“幫助”后出現(xiàn)“關(guān)于計算器”和“作者主頁”,當(dāng)點擊“作者主頁”后,聯(lián)網(wǎng)可進入baidu主頁。當(dāng)點擊“關(guān)于計算器”后,彈出對話框。如圖: 圖4.67.點擊“查看”下的“標(biāo)準(zhǔn)型”就可以進入下一個十進制計算頁面。如圖:輸入了“1.9”“+”“3”按下“
17、=”后: 圖4.78.在按下“1/x”后,顯示如圖: 圖4.89.當(dāng)點擊“退格”后,顯示如圖: 圖4.9當(dāng)按下“/”“0”后,則返回初值“0”。即測試成功。4.2 改進想法:倆個計算器布局方式相同,顯示不太相同,“科學(xué)型”的比“標(biāo)準(zhǔn)型”的更好看一點,可以改一下。在“標(biāo)準(zhǔn)型”中只能實現(xiàn)+,-,×,/和1/x運算,可以再添加sin,cos,tan,cot等運算,增強實用型。五設(shè)計體會與小結(jié)大約一個星期的編寫java程序,發(fā)現(xiàn)自己不懂的地方很多,在做這個課程設(shè)計之前,我可以獨立編寫一些小程序,還很有成就感,以為自己的java語言水平還可以。但是在完成這個設(shè)計的時候,我總是被一些小的,細(xì)的問
18、題擋住前進的步伐,讓我總是為了解決一個小問題而花費很長的時間,甚至做到晚上二點多鐘,最好猛然發(fā)現(xiàn)自己缺少一個定義或者還要查閱其他的書籍才能找出解決的辦法。例如,我定義了一個鏈表,可是向里面添加?xùn)|西的時候,總是出錯,后來在上機的時候問老師,才知道鏈表沒有初始化,這是自己的粗心造成的。我在做設(shè)計的過程中發(fā)現(xiàn)有很多東西,我都還不知道。在做進制轉(zhuǎn)換時不知道函數(shù)怎么寫,是我上網(wǎng)查到的,再經(jīng)過修改查到我的程序中。其實在用語言來編程的時候,基礎(chǔ)是一個不可缺少的知識,但是往往一些核心的高層次的東西更是不可缺少。 在這次編程中,更加深我對事件監(jiān)聽,各方法的實現(xiàn)功能,還有布局方式及常用的gui標(biāo)準(zhǔn)組件更深刻的認(rèn)識
19、。同時,也鞏固了數(shù)據(jù)結(jié)構(gòu)的鏈表的應(yīng)用。在經(jīng)過這次課設(shè)使我知道在設(shè)計的過程中最好學(xué)習(xí)自己解決問題,無論是通過書籍還是網(wǎng)絡(luò),這樣可以增強自己解決問題的能力,同時加強記憶。任意一次實踐都是在檢驗自己學(xué)習(xí)的水平,也是強迫自己再提高編程水平。六參考文獻 1丁振凡 .java語言實用教程m. 北京郵電大學(xué)出版社2006.9 2丁振凡 .java語言實用教程實驗指導(dǎo)m. 北京郵電大學(xué)出版社. 2006.93嚴(yán)蔚敏.數(shù)據(jù)結(jié)構(gòu)(c語言版).清華大學(xué)出版社.2008.34耿祥義.java課程設(shè)計.清華大學(xué)出版社.2004.15第 10 頁 七、附錄:源程序:(主類jisuanqi)package my; /把生成
20、的所有class文件保存到一個文件夾里,便于引用。import javax.swing.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; public class jisuanqi extends jframe implements actionlistener jframe frame; jbutton deng=new jbutton("="); /定義按鈕 jbutton fu=new jbutton("+/-"); jbutton aa=new j
21、button("a"); jbutton bb=new jbutton("b"); jbutton cc=new jbutton("c"); jbutton dd=new jbutton("d"); jbutton ee=new jbutton("e"); jbutton ff=new jbutton("f"); textfield k1=new textfield(); objconversion convert = new objconversion(); jmenuit
22、em copy,paste,科學(xué)型,標(biāo)準(zhǔn)型,help,about,me; jradiobutton sixteen,ten,eight,two; jbutton backspace,ce,c,num0,num1,num2,num3,num4,num5,num6,num7,num8,num9; container cp; /容器名為cp jtextfield text; /文本條 string copycontent="" boolean clickable=true,clear=true; /控制符號位 int all=0; double qian; string fuha
23、o; int jin=10,first=1; /默認(rèn)選中十進制 public jisuanqi() /此類的構(gòu)造函數(shù) super("計算器"); /最上面的起名為計算器setsize(400,300); setlocation(250,200); text=new jtextfield(25); /文本框最多可輸入25位數(shù)text.settext("0."); /默認(rèn)文本框為0text.sethorizontalalignment(jtextfield.right);/從右到左 jpanel cp1=new jpanel(); /設(shè)置3個面板jpanel
24、 cp2=new jpanel(); jpanel cp3=new jpanel(); cp=getcontentpane(); cp.add(cp1,"north"); /界面布局cp.add(cp2,"center"); cp.add(cp3,"south"); cp1.setlayout(new gridlayout(1,6); cp2.setlayout(new gridlayout(2,4); cp3.setlayout(new gridlayout(6,6); sixteen=new jradiobutton("
25、十六進制"); sixteen.setvisible(true); ten=new jradiobutton("十進制",true); ten.setvisible(true); eight=new jradiobutton("八進制"); eight.setvisible(true); two=new jradiobutton("二進制"); two.setvisible(true); sixteen.addactionlistener(this); /事件監(jiān)聽者ten.addactionlistener(this); e
26、ight.addactionlistener(this); two.addactionlistener(this); buttongroup btg=new buttongroup(); btg.add(sixteen); btg.add(ten); btg.add(eight); btg.add(two); jtextfield t3=new jtextfield(25); /向各個面板中添加按鈕cp1.add(text); text.seteditable(true); text.setbackground(new color(255, 255, 255); cp2.add(sixteen
27、); cp2.add(ten); cp2.add(eight); cp2.add(two); backspace=new jbutton("backspace"); backspace.setforeground(new color(255,0,0); backspace.addactionlistener(this); ce=new jbutton("ce"); ce.setforeground(new color(255,0,0); ce.addactionlistener(this); c=new jbutton("c"); c
28、.setforeground(new color(255,0,0); c.addactionlistener(this); k1.setvisible(false); cp2.add(k1); cp2.add(backspace); cp2.add(ce); cp2.add(c); num0=new jbutton("0"); num1=new jbutton("1"); num2=new jbutton("2"); num3=new jbutton("3"); num4=new jbutton("4&q
29、uot;); num5=new jbutton("5"); num6=new jbutton("6"); num7=new jbutton("7"); num8=new jbutton("8"); num9=new jbutton("9"); cp3.add(num7); num7.addactionlistener(this); /數(shù)字事件監(jiān)聽者,以獲取按鈕上的數(shù)字cp3.add(num8); num8.addactionlistener(this); cp3.add(num9); num9.
30、addactionlistener(this); cp3.add(num4); num4.addactionlistener(this); cp3.add(num5); num5.addactionlistener(this); cp3.add(num6); num6.addactionlistener(this); cp3.add(num1); num1.addactionlistener(this); cp3.add(num2); num2.addactionlistener(this); cp3.add(num3); num3.addactionlistener(this); cp3.a
31、dd(num0); num0.addactionlistener(this); cp3.add(fu); fu.addactionlistener(this); cp3.add(deng); deng.setforeground(new color(255,0,0); /符號事件監(jiān)聽者deng.addactionlistener(this); cp3.add(aa); aa.addactionlistener(this); cp3.add(bb); bb.addactionlistener(this); cp3.add(cc); cc.addactionlistener(this); cp3.
32、add(dd); dd.addactionlistener(this); cp3.add(ee); ee.addactionlistener(this); cp3.add(ff); ff.addactionlistener(this); aa.setvisible(false); bb.setvisible(false); cc.setvisible(false); dd.setvisible(false); ee.setvisible(false); ff.setvisible(false); jmenubar mainmenu = new jmenubar(); /菜單條setjmenub
33、ar(mainmenu); jmenu editmenu = new jmenu("編輯"); jmenu viewmenu = new jmenu("查看"); jmenu helpmenu = new jmenu("幫助"); mainmenu.add(editmenu); mainmenu.add(viewmenu); mainmenu.add(helpmenu); copy = new jmenuitem(" 復(fù)制"); paste = new jmenuitem(" 粘貼"); key
34、stroke copyks=keystroke.getkeystroke(keyevent.vk_c,event.ctrl_mask); copy.setaccelerator(copyks);/設(shè)置退出菜單選項加上快捷鍵 keystroke pasteks=keystroke.getkeystroke(keyevent.vk_v,event.ctrl_mask); paste.setaccelerator(pasteks);/設(shè)置退出菜單選項加上快捷鍵 editmenu.add(copy); editmenu.add(paste); copy.addactionlistener(this);
35、 paste.addactionlistener(this); 標(biāo)準(zhǔn)型=new jmenuitem("標(biāo)準(zhǔn)型");科學(xué)型 = new jmenuitem(" 科學(xué)型"); viewmenu.add(標(biāo)準(zhǔn)型); viewmenu.add(科學(xué)型); 標(biāo)準(zhǔn)型.addactionlistener(/標(biāo)準(zhǔn)型和科學(xué)型進行切換new actionlistener()public void actionperformed(actionevent e)/處理事件new computerpad();/生成一個科學(xué)計算機的對象 就會出現(xiàn)科學(xué)計算器的窗口exit();abou
36、t = new jmenuitem(" 關(guān)于計算器"); me = new jmenuitem(" 作者主頁"); helpmenu.add(about); helpmenu.add(me); about.addactionlistener(this); me.addactionlistener(this); addwindowlistener(new windowdestroyer();/結(jié)束窗口 protected void exit() / todo auto-generated method stubpublic void actionperfo
37、rmed(actionevent e) /響應(yīng)動作代碼if(first=1) text.settext(""); first=0; /第一次把文本框0.清空 object temp = e.getsource(); sixteen.setvisible(true); ten.setvisible(true); eight.setvisible(true); two.setvisible(true); 科學(xué)型.settext(" 標(biāo)準(zhǔn)型"); 標(biāo)準(zhǔn)型.settext("科學(xué)型"); aa.setvisible(true); bb.set
38、visible(true); cc.setvisible(true); dd.setvisible(true); ee.setvisible(true); ff.setvisible(true); aa.setenabled(false); bb.setenabled(false); cc.setenabled(false); dd.setenabled(false); ee.setenabled(false); ff.setenabled(false); if(temp=copy) /點擊“復(fù)制“后執(zhí)行 copycontent = text.gettext(); if(temp=paste)
39、 /點擊“粘帖”后執(zhí)行 text.settext(text.gettext()+copycontent); if(temp=help) /打開系統(tǒng)幫助文件 要查資料 try string filepath = "c:/" runtime.getruntime().exec("cmd.exe /c "+filepath); catch(exception eeee) system.out.println("打開系統(tǒng)的計算器出錯"); if(temp=about) joptionpane.showmessagedialog(frame,&
40、quot; java計算器 孫丹丹","關(guān)于計算器",joptionpane.information_message); ; if(temp=me) try process p = runtime.getruntime().exec("explorer "); catch(exception eeee) system.out.println("打開指定網(wǎng)頁出錯"); try if(temp=sixteen) /十六進制轉(zhuǎn)換 string hex=text.gettext(); int inthex=integer.parse
41、int(hex,jin);/先把數(shù)變?yōu)?0進制 text.settext(convert.dechex(inthex) ; jin=16; aa.setenabled(true); bb.setenabled(true); cc.setenabled(true); dd.setenabled(true); ee.setenabled(true); ff.setenabled(true); num2.setenabled(true); num3.setenabled(true); num4.setenabled(true); num5.setenabled(true); num6.setenab
42、led(true); num7.setenabled(true); num8.setenabled(true); num9.setenabled(true); if(temp=eight) /八進制轉(zhuǎn)換 string oct =text.gettext(); int intoct=integer.parseint(oct,jin); text.settext(convert.decoct(intoct) ; jin=8; aa.setenabled(false); /不顯示bb.setenabled(false); cc.setenabled(false); dd.setenabled(fal
43、se); ee.setenabled(false); ff.setenabled(false); num2.setenabled(true); num3.setenabled(true); num4.setenabled(true); num5.setenabled(true); num6.setenabled(true); num7.setenabled(true); num8.setenabled(false); num9.setenabled(false); if(temp=two) string bin=text.gettext(); int intbin=integer.parsei
44、nt(bin,jin); text.settext(convert.decbin(intbin); jin=2; aa.setenabled(false); bb.setenabled(false); cc.setenabled(false); dd.setenabled(false); ee.setenabled(false); ff.setenabled(false); num2.setenabled(false); num3.setenabled(false); num4.setenabled(false); num5.setenabled(false); num6.setenabled
45、(false); num7.setenabled(false); num8.setenabled(false); num9.setenabled(false); if(temp=ten) string dec=text.gettext(); int intdec=integer.parseint(dec,jin); text.settext(intdec+""); jin=10; aa.setenabled(false); bb.setenabled(false); cc.setenabled(false); dd.setenabled(false); ee.setenab
46、led(false); ff.setenabled(false); num2.setenabled(true); num3.setenabled(true); num4.setenabled(true); num5.setenabled(true); num6.setenabled(true); num7.setenabled(true); num8.setenabled(true); num9.setenabled(true); catch(exception ee) system.out.println("轉(zhuǎn)換出錯,可能你沒有輸入任何字符"); text.settext
47、("轉(zhuǎn)換出錯"); clear=false; if(temp=backspace) /退格 string s = text.gettext(); text.settext(""); for (int i = 0; i < s.length() - 1; i+) char a = s.charat(i); text.settext(text.gettext() + a); if (temp=ce) /還原0 text.settext("0."); clear=true; first=1; if (temp=c) text.sett
48、ext("0."); ; clear=true; first=1; if(temp=num0) if(clear=false)/判斷是否點擊了符號位 text.settext(""); text.settext(text.gettext()+"0"); if(temp=num1) if(clear=false) text.settext(""); text.settext(text.gettext()+"1"); clear=true;/第二次不在清空(前二句) if(temp=num2) /獲
49、取數(shù)字 if(clear=false) text.settext(""); text.settext(text.gettext()+"2"); clear=true; if(temp=num3) if(clear=false) text.settext(""); text.settext(text.gettext()+"3"); clear=true; if(temp=num4) if(clear=false) text.settext(""); text.settext(text.gettex
50、t()+"4"); clear=true; if(temp=num5) if(clear=false) text.settext(""); text.settext(text.gettext()+"5"); clear=true; if(temp=num6) if(clear=false) text.settext(""); text.settext(text.gettext()+"6"); clear=true; if(temp=num7) if(clear=false) text.sette
51、xt(""); text.settext(text.gettext()+"7"); clear=true; if(temp=num8) if(clear=false) text.settext(""); text.settext(text.gettext()+"8"); clear=true; if(temp=num9) if(clear=false) text.settext(""); text.settext(text.gettext()+"9"); clear=true
52、; if(temp=aa) text.settext(text.gettext()+"a"); if(temp=bb) text.settext(text.gettext()+"b"); if(temp=cc) text.settext(text.gettext()+"c"); if(temp=dd) text.settext(text.gettext()+"d"); if(temp=ee) text.settext(text.gettext()+"e"); if(temp=ff) text.s
53、ettext(text.gettext()+"f"); try if(temp=deng) clear=false;/要清空前一次的數(shù)據(jù) if (temp = fu) /此方法參考書中例子 boolean isnumber = true; string s = text.gettext(); for (int i = 0; i < s.length(); i+) if (! (s.charat(i) >= '0' && s.charat(i) <= '9' | s.charat(i) = '.'
54、; | s.charat(i) = '-') isnumber = false; break; if (isnumber = true) /如果當(dāng)前字符串首字母有'-'號,代表現(xiàn)在是個負(fù)數(shù),再按下時,則將首符號去掉 if (s.charat(0) = '-') text.settext(""); for (int i = 1; i < s.length(); i+) char a = s.charat(i); text.settext(text.gettext() + a); /如果當(dāng)前字符串第一個字符不是符號,則添加一個符號在首字母處 else text.settext
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 成果分享代理協(xié)議書(2篇)
- 2025終止合同后方知懷孕可否續(xù)簽勞動合同
- 2025標(biāo)準(zhǔn)版建筑工程工程合同范本
- 二零二五年度體育場館設(shè)施租賃與運營管理合同
- 安保物流服務(wù)合同
- 2025年室外渡假村保險合同
- 2025年死因贈與合同的倫理問題
- 2025年銷售人員合同范本:智能家居產(chǎn)品銷售合作協(xié)議2篇
- 2025年度個人投資理財質(zhì)押擔(dān)保合同書3篇
- 2025年林業(yè)科技創(chuàng)新項目樹苗采購合同3篇
- 12123交管學(xué)法減分考試題及答案
- 2025年寒假實踐特色作業(yè)設(shè)計模板
- 《數(shù)據(jù)采集技術(shù)》課件-XPath 解析庫
- 財務(wù)報銷流程培訓(xùn)課程
- 24年追覓在線測評28題及答案
- 春節(jié)慰問困難職工方案春節(jié)慰問困難職工活動
- 2024年全國職業(yè)院校技能大賽高職組(藥學(xué)技能賽項)考試題庫(含答案)
- 2024至2030年中國氫氧化鈣行業(yè)市場全景調(diào)查及發(fā)展趨勢分析報告
- 魚菜共生課件
- 《陸上風(fēng)電場工程概算定額》NBT 31010-2019
- 初中物理八年級下冊《動能和勢能》教學(xué)課件
評論
0/150
提交評論