JAVA小應(yīng)用程序Applet設(shè)計(jì)(計(jì)算器)實(shí)驗(yàn)報(bào)告(附代碼)_第1頁
JAVA小應(yīng)用程序Applet設(shè)計(jì)(計(jì)算器)實(shí)驗(yàn)報(bào)告(附代碼)_第2頁
JAVA小應(yīng)用程序Applet設(shè)計(jì)(計(jì)算器)實(shí)驗(yàn)報(bào)告(附代碼)_第3頁
JAVA小應(yīng)用程序Applet設(shè)計(jì)(計(jì)算器)實(shí)驗(yàn)報(bào)告(附代碼)_第4頁
JAVA小應(yīng)用程序Applet設(shè)計(jì)(計(jì)算器)實(shí)驗(yàn)報(bào)告(附代碼)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

小應(yīng)用程序Applet設(shè)計(jì)一、課題內(nèi)容和要求內(nèi)容:設(shè)計(jì)和編寫一個(gè)可以用鼠標(biāo)操作的Applet小應(yīng)用程序和相應(yīng)的HTML頁面,觀察Applet的執(zhí)行過程,測(cè)試程序鼠標(biāo)用戶交互操作的效果。要求:要求學(xué)生能在學(xué)習(xí)和理解課堂學(xué)習(xí)內(nèi)容中JAVA小應(yīng)用程序的根底上,通過實(shí)驗(yàn),培養(yǎng)學(xué)生將JAVA小應(yīng)用程序相關(guān)知識(shí)點(diǎn)〔包括JAVAApplet和低級(jí)事件處理模型〕有機(jī)結(jié)合,設(shè)計(jì)基于WEB瀏覽器的小應(yīng)用程序的能力。二、設(shè)計(jì)思路分析classApw個(gè)JavaApple計(jì)算器的主類publicvoidinit()完成初始化appletpublicbooleanaction(詼現(xiàn)事件處理的方法publicvoiddoOperator()運(yùn)算及運(yùn)算結(jié)果輸出操作publicvoiddoForeScreen微字和小數(shù)點(diǎn)輸出到文本框操作publicvoiddoClear(X青空操作三、概要設(shè)計(jì)publicclassAppextendsApplet{TextFieldtfAnswer;Buttonb0,b1,b2,b3,b4,b5,b6,b7,b8,b9;ButtonbPoint,bEqual,bPlus,bMinus,bClear,bMulti,bDivision;StringOperatorCurrent,OperatorPre;StringForeScreen,BackScreen;booleanisFloat=false;

publicvoidinit();publicbooleanaction(Evente,Objecto);publicvoiddoOperator()publicvoiddoForeScreen(Strings);publicvoiddoClear();事件處理:hCitarj清除技軌走肝清除操作lr((e.tiir^et=hMuhl)|| =h i*,tarnrf『hPM。IhGtar^er=lAlirim)g劇Ld=bEquM))加減期蟠于按鈕獲取運(yùn)算操作符并進(jìn)i;運(yùn)算操作卜") 沒有幣源輸入數(shù)字/作為上?道值新輸人奴字算符一項(xiàng)證硒入隹續(xù)的同考算存進(jìn)行■■運(yùn)算提作M1也fag==bg||hCitarj清除技軌走肝清除操作lr((e.tiir^et=hMuhl)|| =h i*,tarnrf『hPM。IhGtar^er=lAlirim)g劇Ld=bEquM))加減期蟠于按鈕獲取運(yùn)算操作符并進(jìn)i;運(yùn)算操作卜") 沒有幣源輸入數(shù)字/作為上?道值新輸人奴字算符一項(xiàng)證硒入隹續(xù)的同考算存進(jìn)行■■運(yùn)算提作if"上的啡以=bP曲n。&&if"上的啡以=bP曲n。&&:Fi)rcScrx^n.eiMit漸儀”/'W保正屈數(shù)不含小費(fèi)點(diǎn)的情況下張瓶小數(shù)點(diǎn)力在控制臺(tái)和文本相?出If!=iMMnh裁取數(shù)字桌來有崎A數(shù)懶佩IfiFortScreenJtquste(',1T)桌來有崎A數(shù)懶佩運(yùn)算及運(yùn)算結(jié)果輸出if(OperttotPre,M|ual5(,m))上一運(yùn)算符沒杓則直接啕出else上…運(yùn)算符存在則運(yùn)算后輸圉 SZ BaekScrwn■ForeStrven;FureScreen-n,1:dAnswur.sctItBackSereun):Repaint0;冬力人的數(shù)掂轉(zhuǎn)入EhskS4mti并清空,用HuckScrMn輸出它SZdFort=(notPoubIc(FnreScr^enIlkatue():dBack=(newDouble<BickScrt*?n))Lduul>LeValih*Q^KorcScreen=***;Bnck'icrren=rfA^wer,2iirTev?0:運(yùn)算結(jié)果轉(zhuǎn)入BMkScr"D井清空.BackScrccn輸出它,再對(duì)各運(yùn)算符作運(yùn)算操作四、詳細(xì)設(shè)計(jì)Java代碼:importjava.awt.*;importjava.applet.*;publicclassAppextendsApplet{TextFieldtfAnswer;//定義變量Buttonb0,b1,b2,b3,b4,b5,b6,b7,b8,b9;ButtonbPoint,bEqual,bPlus,bMinus,bClear,bMulti,bDivision;StringOperatorCurrent,OperatorPre;StringForeScreen,BackScreen;booleanisFloat=false;publicvoidinit(){//初始化OperatorCurrent=newString("");OperatorPre=newString("");ForeScreen=newString("0");//保證輸入字符串不為空防止計(jì)算錯(cuò)誤BackScreen=newString("");setBackground(Color.gray);setLayout(null);//設(shè)為空布局便于自定義組件位置tfAnswer=newTextField();//設(shè)置文本框樣式tfAnswer.setBounds(20,20,175,40);tfAnswer.setFont(newFont(BackScreen,Font.BOLD,28));add(tfAnswer);tfAnswer.setText(ForeScreen);bClear=newButton("C");//設(shè)置按鈕樣式bClear.setBounds(20,70,40,40);add(bClear);bDivision=newButton("/");bDivision.setBackground(Color.green);bDivision.setBounds(65,70,40,40);add(bDivision);bMulti=newButton("*");bMulti.setBackground(Color.green);bMulti.setBounds(110,70,40,40);add(bMulti);bMinus=newButton("-");bMinus.setBackground(Color.green);bMinus.setBounds(155,70,40,40);add(bMinus);b7=newButton("7");b7.setBounds(20,115,40,40);b7.setBackground(Color.orange);add(b7);b8=newButton("8");b8.setBackground(Color.orange);b8.setBounds(65,115,40,40);add(b8);b9=newButton("9");b9.setBackground(Color.orange);b9.setBounds(110,115,40,40);add(b9);bPlus=newButton("+");bPlus.setBackground(Color.green);bPlus.setBounds(155,115,40,85);add(bPlus);b4=newButton("4");b4.setBackground(Color.orange);b4.setBounds(20,160,40,40);add(b4);b5=newButton("5");b5.setBackground(Color.orange);b5.setBounds(65,160,40,40);add(b5);b6=newButton("6");b6.setBackground(Color.orange);b6.setBounds(110,160,40,40);add(b6);b1=newButton("1");b1.setBackground(Color.orange);b1.setBounds(20,205,40,40);add(b1);b2=newButton("2");b2.setBackground(Color.orange);b2.setBounds(65,205,40,40);add(b2);b3=newButton("3");b3.setBackground(Color.orange);b3.setBounds(110,205,40,40);add(b3);bEqual=newButton("=");bEqual.setBackground(Color.green);bEqual.setBounds(155,205,40,85);add(bEqual);b0=newButton("0");b0.setBackground(Color.orange);b0.setBounds(20,250,85,40);add(b0);bPoint=newButton(".");bPoint.setBackground(Color.orange);bPoint.setBounds(110,250,40,40);add(bPoint);}publicbooleanaction(Evente,Objecto){//實(shí)現(xiàn)事件處理的方法Strings=newString("");if((e.target==b0)||(e.target==b1)||(e.target==b2)||(e.target==b3)||(e.target==b4)||(e.target==b5)||(e.target==b6)||(e.target==b7)||(e.target==b8)||(e.target==b9)){//獲取數(shù)字按鈕數(shù)據(jù)并在控制臺(tái)和文本框輸出if(e.target!=bPoint){//獲取數(shù)字s=(String)o;doForeScreen(s);}}if((e.target==bPoint)&&!ForeScreen.contains(".")){//保證原數(shù)不含小數(shù)點(diǎn)的情況下獲取小數(shù)點(diǎn)并在控制臺(tái)和文本框輸出s=(String)o;if(ForeScreen.equals(""))//原來沒有輸入數(shù)據(jù)那么用0.{doForeScreen("0.");}else//原來有輸入數(shù)據(jù)那么用.{doForeScreen(s);}}if(e.target==bClear){//去除按鈕進(jìn)展去除操作doClear();}if((e.target==bMulti)||(e.target==bDivision)||(e.target==bPlus)||(e.target==bMinus)||(e.target==bEqual)){//加減乘除等于按鈕獲取運(yùn)算操作符并進(jìn)展運(yùn)算操作if(ForeScreen!=""){//重新輸入數(shù)字進(jìn)展運(yùn)算操作OperatorCurrent=((String)o);doOperator();}else{//沒有重新輸入數(shù)字那么作為上一運(yùn)算符--->保證不輸入連續(xù)的同一運(yùn)算符OperatorPre=((String)o);}}returntrue;}publicvoiddoOperator(){//運(yùn)算及運(yùn)算結(jié)果輸出操作doubledFore,dBack;Doubled;if(OperatorPre.equals("")){//上一運(yùn)算符沒有那么直接輸出BackScreen=ForeScreen;//輸入的數(shù)據(jù)轉(zhuǎn)入后臺(tái)并清空,用后臺(tái)輸出它ForeScreen="";tfAnswer.setText(BackScreen);repaint();}else{//上一運(yùn)算符存在那么運(yùn)算后輸出dFore=(newDouble(ForeScreen)).doubleValue();dBack=(newDouble(BackScreen)).doubleValue();ForeScreen="";//運(yùn)算結(jié)果轉(zhuǎn)入后臺(tái)并清空,用后臺(tái)輸出它BackScreen=tfAnswer.getText();if(OperatorPre.equals("+")){d=newDouble((dBack+dFore));BackScreen=d.toString();}if(OperatorPre.equals("-")){d=newDouble((dBack-dFore));BackScreen=d.toString();}if(OperatorPre.equals("*")){d=newDouble((dBack*dFore));BackScreen=d.toString();}if(OperatorPre.equals("/")){d=newDouble((dBack/dFore));BackScreen=d.toString();}tfAnswer.setText(BackScreen);repaint();}OperatorPre=OperatorCurrent;//現(xiàn)運(yùn)算符變上一運(yùn)算符repaint();}publicvoiddoForeScreen(Strings){//數(shù)字和小數(shù)點(diǎn)輸出到文本框操作ForeScreen+=s;if(ForeScreen.length()>1&&ForeScreen.startsWith("0")&&!ForeScreen.contains("."))//以0開頭的長度大于一的非小數(shù)去掉開頭的0ForeScreen=ForeScreen.substring(1);tfAnswer.setText(ForeScreen);repaint();}publicvoiddoClear(){//清空操作OperatorCurrent="";OperatorPre="";ForeScreen="0";B

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論