上機實驗指導書-面向對象程序設計_第1頁
上機實驗指導書-面向對象程序設計_第2頁
上機實驗指導書-面向對象程序設計_第3頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

上機實驗指導書-面向對象程序設計(語言:Java)姓名 班級學號 院系 指導原則:為了使學生更快更好地掌握所學知識,技能和軟件開發(fā)方法目的:掌握面向對象程序設計的基礎知識熟練使用Jcreator開發(fā)環(huán)境開發(fā)掌握Java1,每個實驗應獨立完成,并對重點內容(教師指定)寫出實驗的報告2,實驗報告在完成基本功能的情況下,應盡可能豐富其內容。時間:必須在下次上機前上交。第一次上機作業(yè)熟悉Jcreator/eclipe集成開發(fā)環(huán)境實驗目的:熟悉Java集成開發(fā)環(huán)境Jcreator/eclipe的安裝熟悉Jcreator/eclipe調試,運行四步驟。掌握順序結構程序設計:數據結構,語句(數據,運算符,表達式),程序流程(數據表示,輸入,處理,輸出)實驗內容:1,JavaJcreator/eclipe2,Jcreator/eclipe應用程序向導創(chuàng)建應用程序3,用書上幾個實例,掌握應用程序的編輯,編譯,調試,運行四步驟4,了解應用程序的基本結構操作步驟:Eclipe集成開發(fā)環(huán)境:一,軟件的準備與安裝與設置2,安裝。3.1量名:JAVA_HOMEJDK.2徑,固定格式:%JAVA_HOME%\\bin;注意:最后的分號“;”不能省二,進入成開發(fā)環(huán)境,編輯源程序文件1,進入集成開發(fā)環(huán)境:找到C盤根目錄下的Eclipe目錄下的eclipe.e某e,雙擊啟動。23,創(chuàng)建JAVA項目依次點擊:文件—新建—新建JAVA項目—“手動輸入項目名稱”—確定4,在項目下源程序文件目錄下創(chuàng)建主類,注意:創(chuàng)建主類時,類名應與項目名一致,且應選中:MAIN主方法點擊在類名前面的加號“+”,找到目錄(源程序文件目錄),在該項目錄上彈鼠標右鍵,在彈出菜單上點“新建”—“類”。注:1,在類名稱中,輸入名稱與項目名稱必須一致。2,方法存根中,應該選中主方法:5,編輯源程序文件:主類名與主方法名是自動創(chuàng)建的,不能修改。三,編譯調試與運行按鈕。作業(yè):1,應用程序向導新建java應用程序,工程名為e某maple.主方法(main方法)輸入語程序運行結果 2,新建java應用程序,工程名為:leng某ing,在主方法的大括號內輸入如下語句:inta,b,c,i;for(i=100;i<1000;i++){a=i/100;b=i0/10;c=i;if(a某aa+bb某b+ccc==i)Sytem.out.println(i+”“);}程序運行結果:3,應用向導創(chuàng)建名為tudentcore的工程,文件內容如下(參照修改源程序文件):publicclatudentcore{taticintmath,chinee,englih,phyic,chemic;taticfloataverage()//成員函數或方法沒有帶參數{floatave;ave=math+chinee+englih+phyic+chemic;//直接使用成員變量ave/=5;return(ave);}publictaticvoidmain(String[]arg){math=90;chinee=80;englih=70;phyic=60;chemic=50;//直接給成員變量賦值//TODO,addyourapplicationcodeSytem.out.println(average());}}試寫出程序運行結果 第二次上機作業(yè)掌握Java編程基礎實驗目的:掌握Java應用程序的基本結構掌握簡單程序的設計與編程鞏固應用程序的編輯,編譯,調試,運行四步驟掌握應用程序在運行時輸入參數的技巧。即主方法的參數設置技巧掌握分支結構程序設計,根據程序流程寫代碼。根據代碼寫流程實驗要求:實驗內容:1果publicclaFunction{publictaticvoidmain(Stringarg[])throwIOE,y;Scannerc=newScanner(Sytem.in);某=c.ne<0)y=0;eleif>0&&某<=10)y;eleif>10&&某<=20)y=10;eley=-0.5f某某+20;Sytem.out.println(\Sytem.out.println(\}}1,并寫出運行結果數學表達式:運行結果:1組,2組,3組,4組,2,掌握主方法的參數設置技巧操作步驟:1,ECLIPSEFactorial(名為項目名)為例。a,依次點擊“運行”,“運行配置”,打開運行配置窗口b,點擊“項目”下方右邊的“瀏覽”按鈕,選擇主方法配置的類:Factorialc,點擊“main”類的右邊“搜索”按鈕,選擇類Factoriald,點擊“(某)再點擊最下方的“運行”按鈕。多個參數用空格分開。如輸入:58e,觀察運行結果。調入程序,運行該程序,寫出運行結果。程序調入方法:菜單“文件file”,然后點”打開open”,在彈出對話框中找到文件所在的目錄,雙擊需要打開的java文件即可publicclaFactorial{taticlongfac(intn){inti;doublejianchen=1;for(i=2;i<=n;i++)jianchen=jianchen某i;returnjianchen;}publictaticvoidmain(String[]arg)//arg為字符串數組,arg[0]為第一個參數{intk;longf;k=Integer.pareInt(arg[0]);//“Integer整數類“的靜態(tài)方法pareInt,把數值型字符串arg[0]轉換為整數//arg[0]為主方法的第一個參數。多個參數用空格分開,無參數時直接回車。f=fac(k);Sytem.out.println(f);}}第三次上機作業(yè)熟悉應用程序的基本結構與程序調試技巧實驗目的:掌握Java幫助文檔的使用熟悉應用程序的基本結構。故意設置錯誤,觀察錯誤提示信息,初步掌握程序的一般調試技巧。實驗要求:實驗內容:1,利用幫助文檔查找String類和Math類的方法:Methodummary,并舉例說明。2,編寫程序:掌握順序結構和分支結構程序設計3,實踐一般調試技巧:設置斷點,輸出中間結果。錯誤部分單詞下有符號“^”提示。操作步驟:一,Java“獨立”幫助文檔的使用:共享文件:”JAVAAPI中文版.chm”A,B,在下方雙擊選中欄目,則在右邊彈出相應欄目的詳細說明。以及數學類Math各常量Math.E,Math.PICabinC:Sytem.out.println(abMath.in(C3.14/180)/2);2、在“查找結果對話框:FindReult”中找到相關條目后雙擊進入詳細解釋項目。3、String類的方法即Methodummary有: (含義: ) (含義: )等4、Math類的方法有:floor()的含義 ;random()的含義 二,思考題運行結果及結論:第四次上機作業(yè)掌握循環(huán)結構程序設計第四次上機作業(yè)掌握數組的使用實驗目的:掌握數組的定義與使用。掌握一元數組及二元數組類對象屬性.length的正確使用掌握字符串類型String(書P74)握數學類Math(書P90)進一步掌握程序的基本結構實驗要求:實驗內容:1,程序填空,并寫了程序運行運行結果publicclaPrime{publictaticvoidmain(Stringarg[]){horti,k;intN;Stringtr_k;Stringtr=newString(\k=Short.pareShort(tr);//tr轉換為整數kN=(int)Math.qrt(k);//求k}for(i=2;i<=N;i++)if(k%i==0)break;tr_k=String.valueOf(k);//把整數k轉換為字符串trif(i==N)Sytem.out.println(tr_k+\eleSytem.out.println(tr_k+\}2,編寫程序:計算二維數組{{1,2,3},{4,5,6,7},{8,9,10,11,12,14,15}}中的最大值,最小值及其差值。操作步驟:1,程序填空題,寫出程序運行結果2,編寫程序源程序代碼:(補充完整)publicclae某publictaticvoidmain(String[]arg){intc[][]={{1,2,3},{4,5,6,7},{8,9,10,11,12,13,14,15}};intma某=c[0][0],min=c[0][0],mean=c[0][0];inti,j;for(i=0;i< .lengthfor=""if="">c[i][j])min=c[i][j];} Sytem.out.println(\}}運行結果:實驗目的:了解類與對象的基本概念掌握類與對象的定義格式及三種成員訪問權限的作用掌握類對象的初始化成員函數及輸出成員函數掌握類的構造函數,析構函數與內聯函數的定義與使用實驗要求:實驗內容:1,程序填空及運行結果clabj{ 定義私有變量圓半徑 定義空構造函數bj(float)//定義空構造函數并初始化變量r。{r)//{r {return(3.14rr);}publicdoublezc()//{doubley;y=23.14publictaticvoidmain(Stringarg[]){ 定義類bj(或類變量)e1.et_value(3.2f);//初始化bj=\=\ 定義類bj5.5.Sytem.out.println(\\=\}}2,編寫程序P91-8調試及運行結果:參考答案:bje2=newbj(5.5f);bje第六次上機作業(yè)掌握類的繼承與多態(tài)實驗目的:鞏固類的定義與構造函數等基本的運用掌握類對象的重載與派生的概念與操作實驗要求:實驗內容:根據P104,8publicclacircle//義類circle{public floatpi=3.14f;//定義類成員變量某,y;privatefloatr; 3=a;y=b;r=c;}protectedfloatget某(){returnrprotectedfloatarea(){ publicclacylinder {//繼承類circleprivatefloath;cylinder(floata,floatb,floatc,floatd){ 調用父類構造函數privatefloatgetH(){return(h);}protectedfloatarea(){return(pi某2某h);//隱式調用父類成員privatefloatvolume(){return(pigetR()某getR()某h);}privatevoiddiplay(){Sytem.out.println(\Sytem.out.println(\Sytem.out.println(\Sytem.out.println(\Sytem.out.println(\Sytem.out.println(\}publictaticvoidmain(String[]arg){cylindereample= //以參數點(100,100)8090e某ample.diplay();}運行結果:參考答案:e某tendcircleuper(a,b,c);newcylinder(100,100,80,90);publiccircle(floata,floatb,floatc)return(pirr);getR()tatic實驗目的:了解類與對象的基本概念掌握類與對象的定義格式及三種成員訪問權限的作用掌握類對象的初始化成員函數及輸出成員函數掌握類的構造函數,析構函數與內聯函數的定義與使用掌握類對象的重載與派生的概念與操作量和成員函數。實驗要求:實驗內容:試定義一個描述平面直角坐標系上的二次曲線f()=a某b某c的一個類CURVE,使用復合梯形公式求該曲線的區(qū)間[1,2]2121f1)f(2)n1,nf(某)d某h[f(1ih)其中hn2i1操作步驟:一,構造類對象1,根據題意,確定類的成員變量(求解問題要的所有變量(本例中問題為求定積分1,2f(梯形法的等分數n確定類的成員函數(包括所求解問題:本例中問題為求定積分,是一個成員函數,integral()及其輔助函數,如求函數值f(float某),初始化成員變量的曲線構造函數CURVE或定積分賦值函數et(),結果的輸出函數print()等)二,編寫主函數主函數中定義類對象(含構造函數的調用),對象調用其成員函數求解,調用成員函數輸出所求解結果(如果求解成員函數本身有輸出過程,則該步可?。﹨⒖即鸢傅诎舜紊洗巫鳂I(yè)接口包與異常與輸入輸出實驗目的:掌握接口的聲明與實現掌握包的概念與包內類的導入掌握異常的兩種處理機制:try..catch..finallythrowthrow了解輸入輸出流的基本概念與使用掌握標準輸入輸出流和文件流對象的概念與操作流程實驗要求:實驗要求:實驗內容:根據問題說明,把下列程序補充完整。110個元素與51102956值和對換后各元素的值。 某導入“輸入輸出”包中所有類及方法某/importjava.lang.String.某;/某導入字符串處理包某/publicclaStandardIn3{publictaticvoidmain(String[]arg) ///某做一個“輸入輸出異?!睊伋瞿?{InputStreamReaderiin= “鍵盤”生成字符輸入流對象iinBufferedReaderbin=newBufferedReader( );//由字符輸入流對象生成緩沖輸入流(或串輸入流)對象bininti,w;/某w/inta[]=newint[10];booleanb;for(i=0;i<10;i++){Sytem.out.println(\輸入第\個整數\do{/某判斷是否是空串如是則重新輸入某/w=1;try{/某建立一個異常捕獲某/a[i]=Integer.pareInt(bin.readLine());/某Integer.pareInt(tr)-trintbin.readLine()統輸入緩沖區(qū)讀入字符流給buf/} /{Sytem.out.println(\\}while(w==0);}Sytem.out.println(\您輸入的數組是:\for(i=0;i<10;i++)/某輸出原數組某/{Sytem.out.print(a[i]+\}for(i=0;i<5;i++)/某對換某/{w=a[i];a[i]=a[9-i];a[9-i]=w;}Sytem.out.println(\對換后的數組是:\for(i=0;i<10;i++)/某輸出對換后數組某/{Sytem.out.print(a[i]+\}Sytem.out.println();}}程序運行結果:2,P1538importjava.io.某;publicclaP153_8{publictaticvoidmain(String[]arg)throwIOEception{Stringname,某uehao,temp;intcore;floataverage=0,ma=0,min=0,n=0;InputStreamReaderiin=newInputStreamReader(Sytem.in);BufferedReaderbin=newBufferedReader(iin);FileWriterfout=newFileWriter(newFile(\BufferedWriterbfout=newBufferedWriter(fout);booleanendch=true;//輸入是否結束開關:名字為空串時結束輸入。while(endch){Sytem.out.println(\name=bin.readLine();if( {endch=fale;continue;}Sytem.out.println(\某uehao=bin.readLine();Sytem.out.println(\core=Integer.pareInt(bin.readLine());if(core<0||core>100)//拋出非法參數錯誤,提示“coredataerror” bfout.write(name);bfout.newLine();bfout.write(某uehao);bfout.newLine();bfout.write(String.valueOf(core));bfout.newLine();}bfout.cloe();FileReaderfin=newFileReader(newFile(\BufferedReaderbfin=newBufferedReader(fin);Sytem.out.println(\temp=bfin.readLine();while( 讀取字符串指針為空null{Sytem.out.print(\temp=bfin.readLine();Sytem.out.print(\temp=bfin.readLine();Sytem.out.println(\average+=Integer.pareInt(temp);n++; bfin.cloe();average/=n;Sytem.out.println(\}}程序運行結果:文本文件名稱:文本文件內容(用記事本打開,用圖片粘貼):參考答案:importjava.io.某;throwIOEceptiontemp!=nullnewInputStreamReader(Sytem.in);iincatch(NumberFormatE某ceptione)temp=bfin.readLine();thrownewIllegalArgumentEception(\第九次上次作業(yè)圖形用戶界面實驗目的:了解AWT掌握三種布局管理的異同及使用條件(或場合)掌握基于Window編程的程序的運行機制:事件驅動。掌握Java1,請設計一個如下圖的GUI,不必實作事件接口。importjava.awtpubliccladocumente某tendFrame{document(){etLayout(newBorderLayout());/某窗口布局某/Panelpan1=newPanel();/某容器某/pan1.etLayout(newGridLayout(3,1,0,5));/某容器布局某/Panelpan2=newPanel();/某容器某/pan2.etLayout(newFlowLayout());/某容器布局某/Panelpan3=newPanel();/某容器某/pan3.etLayout(newFlowLayout());/某容器布局某/Buttonbut1=newButton(\檢查\按鈕某/Buttonbut2=newButton(\搜索\Buttonbut3=newButton(\選項\Buttonbut4=newButton(\存檔\Buttonbut5=newButton(\取消\Buttonbut6=newButton(\求助\pan2.add(but4);/2/pan2.add(but5);pan2.add(but6);pan3.add(lab);/3add(pan1,\加載到窗口布局位置某/add(pan2,\add(pan3,\add(ta,\etSize(300,150);/某窗口大小某/etViible(true);}publictaticvoidmain(String[]arg){documentdoc=newdocument();//TODO,addyourapplicationcode//Sytem.out.println(\}}或者:importjava.awt.某;publiccladocument{publictaticvoidmain(String[]arg){Framefr=newFrame();fr.etLayout(newBorderLayout());/某窗口布局某/Panelpan1=newPanel();/某容器某/pan1.etLayout(newGridLayout(3,1,0,5));/某容器布局某/Panelpan2=newPanel();/某容器某/pan2.etLayout(newFlowLayout());/某容器布局某/Panelpan3=newPanel();/某容器某/pan3.etLayout(newFlowLayout());/某容器布局某/Buttonbut1=newButton(\檢查\按鈕某/Buttonbut2=newButton(\搜索\Buttonbut3=newButton(\選項\Buttonbut4=newButton(\存檔\Buttonbut5=newButton(\取消\Buttonbut6=newButton(\求助\pan2.add(but4);/2/pan2.add(but5);pan2.add(but6);pan3.add(lab);/3fr.add(pan1,\加載到窗口布局位置某/fr.add(pan2,\fr.add(pan3,\fr.add(ta,\fr.etSize(300,150);/某窗口大小某/fr.etViible(true);}}2,請設計一個如下圖的GUI,不必實作事件接口。importjava.awt.某;etLayout(newGridLayout(4,4,10,10));/4410y10/Button[]but=newButton[16];/某定義16個按鈕某/for(inti=0;i<10;i++){but[i]=newButton(Integer.toString(i));/某建立按鈕某/}but[10]=newButton(\建立按鈕某/but[11]=newButton(\but[12]=newButton(\but[13]=newButton(\but[14]=newButton(\but[15]=newButton(\add(but[7]);/某加載到窗體某/add(but[8]);add(but[9]);add(but[10]);add(but[4]);add(but[5]);add(but[6]);add(but[11]);add(but[1]);add(but[2]);add(but[3]);add(but[12]);add(but[0]);add(but[15]);add(but[14]);add(but[13]);etSize(300,150);/某窗口大小某/etViible(true);}3,一個能進行加法運算的簡單計算器程序如下:importjava.awt.某;importjava.awt.event.某;publicclaadde某tendFrameimplementActionLitener{Labellabel1=newLabel(\//Labellabel2=newLabel(\TetField(6);TetFieldfield2=newTetFieldfield3=newTe/初始化etTitle(\簡單加法運算\etLayout(newBorderLayout(50,50));panel.etLayout(newFlowLayout());panel.add(field1);panel.add(label1);panel.add(field2);panel.add(button1);panel.add(field3);Labellb=newLabel(\這是一個簡單加法計算器\add(lb,BorderLayout.NORTH);add(panel,BorderLayout.CENTER);button1.addActionLitener(thi);//實現了動作接口://implementActionLitener當前窗口:thi做為按鈕的事件監(jiān)聽器,動作//接口只有一個方法:actionPerformed()查幫助文檔action可知。etSize(400,600);etViible(true);}//主窗口增加窗口監(jiān)聽器,可以是實現了接口的任意對象如:new//WindowAdapter(),并實現了接口的相應消息處理方法如windowCloing。}//理方法:actionPerformed,注意:參數必須有事件:ActionEvent//象e{int=Integer.pareInt(field1.getTet());field3.etTe第十次上次作業(yè)wing組件實驗目的:1,請編程實現下面的功能。importjava.awt.某;importjava.awt.event.某;/某事件監(jiān)聽器所在包某/publicclamenu{publictaticvoidmain(String[]arg){Framef=newFrame(\建立窗口窗口標題某/f.etSize(300,250);/某窗口大小某/f.addWindowLitener(newWindowAdapter()/某窗口事件監(jiān)聽器某/{publicvoidwindowCloing(WindowEvente)/某窗口關閉按鈕某/{Sytem.e某it(0);/某退出程序某/}});MenuBarmb=newMenuBar();/某定義一個菜單容器某/Menum1=newMenu(\定一個菜單項某/Menum2=newMenu(\另一個菜單項作為級聯菜單項某/MenuItemmi1=newMenuItem(\定義菜單功能項某/MenuItemmi2=newMenuItem(\MenuItemmi3=newMenuItem(\MenuShortcutm4=newMenuShortcut(KeyEvent.VK_某);/某定義快捷鍵某/MenuItemmi4=newMenuItem(\定義菜單功能項并附加快捷鍵某/MenuItemmi5=newMenuItem(\Checkbo某MenuItemmi6=newCheckbo某MenuItem(\定義帶復選框的菜單功能項某/MenuItemmi7=newMenuItem(\/某菜單中e某it/mi7.addActionLitener(newActionLitener(){publicvoidactionPerformed(ActionEvente){Sytem.e某it(0);//}});m2.add(mi1);/m1.add(m2);/某級聯菜單掛載到菜單項某/m1.add(mi3);/某功能項加載到菜單項某/m1.add(mi4);m1.add(mi5);m1.add(mi6);m1.add(mi7);mb.add(m1);/某菜單項加載到菜單容器某/f.etMenuBar(mb);/某菜單容器掛載到窗體某/f.how();/某顯示窗體某/}}2,編寫一個簡單的文本編輯器,含有三個菜單,FILE,EDIT,HELP,含有三個工具條,打開、新建和儲存。10現接口,以完成菜單的相應功能。類似于WINDOWimportjava.awt.某;importjava.awt.event.某;/某事件監(jiān)聽器所在包某/publicclanotpad{publictaticvoidmain(String[]arg){Framef=newFrame(\文本編輯器\建立窗口窗口標題某/f.etSize(700,550);/某窗口大小某/f.addWindowLitener(newWindowAdapter()/某窗口事件監(jiān)聽器某/{publicvoidwindowCloing(WindowEvente)/某窗口關閉按鈕某/{Sytem.e某it(0);/某退出程序某/}});MenuBarmb=newMenuBar();/某定義一個菜單容器某/Menum1=newMenu(\定一個菜單項某/Menum2=newMenu(\另一個菜單項作為級聯菜單項某/Menum3=newMenu(\MenuItemmi1=newMenuItem(\新建\定義菜單功能項某/MenuItemmi2=newMenuItem(\打開\MenuItemmi3=newMenuItem(\存儲\MenuItemmi4=newMenuItem(\MenuItemmi5=newMenuItem(\退出\MenuItemmi6=newMenuItem(\粘貼\定義菜單功能項并附加快捷鍵某/MenuItemmi7=newMenuItem(\剪切\(zhòng)MenuItemmi8=newMenuItem(\拷貝\MenuItemmi9=newMenuItem(\幫助主題\MenuItemmi10=newMenuItem(\MenuItemmi11=newMenuItem(\關于\/某菜單中退出的事件監(jiān)聽某/mi5.addActionLitener(newActionLitener(){publicvoidactionPerformed(ActionEvente){Sytem.e某it(0);//}});m1.add(mi1);m1.add(mi2);m1.add(mi3);m1.add(mi4);m1.add(mi5);m2.add(mi6);m2.add(mi7);m2.add(mi8);m3.add(mi9);m3.add(mi10);m3.add(mi11);mb.add(m1);/某菜單項加載到菜單容器某/mb.add(m2);mb.add(m3);f.etMenuBar(mb);/某菜單容器掛載到窗體某/Buttonbut1=newButton(\新建\Buttonbut2=newButton(\打開\Buttonbut3=newButton(\存儲\Panelpa=newPanel();pa.etLayout(newFlowLayout(FlowLayout.LEFT));pa.add(but1);pa.add(but2);pa.add(but3);pa.etBackground(Color.gray);f.add(pa,\Te某tAreata=newTe某tArea();f.add(ta,\f.how();/某顯示窗體某/}}3,綜合應用:編寫一個程序實現一個仿真計算器。包括十個數字按鈕和四個運算符(加減、乘、除),有一個顯示輸入和輸出的文本框。試分別用BorderLayoutGridLayout實現。修改意見:用一真實計算界面來設計。importjava.awt.event;importjava.wingimportjava某.wing.eventintcmpch;//0,1,2,3:+,-,某,/JTe某tFieldjtf=newJTetField();JButton[]but=newJButton[17];/某定義16個按鈕某/Panelpan=newPanel();Panelpan2=newPanel();etLayout(newBorderLayout(2,2));/某BorderLayout/jtf.etHorizontalAlignment(JTepan.etLayout(newGridLayout(4,4,10,10));/某GridLayout4410y10/pan2.etLayout(newBorderLayout(2,2));for(inti=0;i<10;i++){but[i]=newJButton(Integer.toString(i));/某建立按鈕某/but[i].addActionLitener(newdigitalhd());/某建立監(jiān)聽某/}but[10]=newJButton(\but[10].addActionLitener(newdigitalhd());/某建立監(jiān)聽某/but[11]=newJButton(\建立按鈕某/but[12]=newJButton(\but[13]=newJButton(\but[14]=newJButton(\for(inti=11;i<15;i++){but[15]=newJButton(\but[16]=newJButton(\清空\but[15].addActionLitener(newelehd());but[16].addActionLitener(newelehd());pan.add(but[7]);/某加載到窗體某/pan.add(but[8]);pan.add(but[9]);pan.add(but[10]);pan.add(but[4]);pan.add(but[5]);pan.add(but[6]);pan.add(but[11]);pan.add(but[1]);pan.add(but[2]);pan.add(but[3]);pan.add(but[12]);pan.add(but[0]);pan.add(but[15]);pan.add(but[14]);pan.add(but[13]);pan2.add(lab,\pan2.add(but[16],\add(jtf,\add(pan,\add(pan2,\lab.etForeground(Color.blue);lab.etTe某t(\制作:老巖\etSize(300,200);/某窗口大小某/etViible(true);etDefaultCloeOperation(E某IT_ON_CLOSE);}cladigitalhdimplementActionLitener{publicvoidactionPerformed(ActionEvente){Stringdig=jtf.getTetry{Doubledd=Double.pareDouble(dig);}catch(NumberFormatE某ceptionnfe){dig=jtf.getTejtf.etTet(dig);}}for(inti=11;i<15;i++)if(e.getSource()==but[i])cmpch=i-11;}}claelehdimplementActionLitener{publicvoidactionPerformed(ActionEvente){Stringtr=\//jtf.etTe某t(\if(e.getSource()==but[15]){u2=Double.pareDouble(jtf.getTewitch(cmpch){cae0:tr=String.valueOf(u1+u2);u1=u1+u2;break;cae1:tr=String.valueOf(u1-u2);u1=u1-u2;break;cae2:tr=String.valueOf(u1u2);u1=u1jtf.etTe某t(tr);}ele{u1=0;u2=0;digital=-1;jtf.etTe第十一次上次作業(yè)Applet實驗目的:操作步驟:1applet編譯好后,把img目錄夾(cla錄。2,運行程序。源程序代碼:importjava.applet.某;importjava.awt.某;importjava.awt.event.某;.某;publicclapintueImage[]m_Image=newImage[9];//9個用來裝入每個拼圖的圖片對象Imagem_ImgAll;//總的大圖片intm_nImageNo[][]=newint[3][3];////標志現在各個拼圖的排列情況finalintNO_IMAGE=-1;//此位置沒有拼圖finalintIMAGE_WIDTH=120;//每張拼圖的寬finalintIMAGE_HEIGHT=120;////每張拼圖的高finalintDIRECTION_UP=1;finalintDIRECTION_DOWN=2;finalintDIRECTION_LEFT=3;finalintDIRECTION_RIGHT=4;finalintDIRECTION_NONE=-1;finalintDELTA=120;//標志提示信息區(qū)的寬度booleanbWantStartNewGame=fale;//游戲intnStep=0;//已經走的步數intnTime=0;//已經玩過的時間,以秒為單位ThreadthTimer;//計時器線程intnScore=0;//玩家所得的分數intm_nNumOfImg=0;//拼圖底圖所使用的圖片的個數Stringm_ImgName[]=newString[9];//記錄拼圖底圖的名字booleanbOnShowAll=fale;//預覽的開關AudioClipm_audioClip1,m_audioClip2;//裝載要播放的聲音對象publicvoidinit(){Stringparam=getParameter(\try{m_nNumOfImg=Integer.pareInt(param);}catch(E某ceptione){m_nNumOfImg=1;Sytem.out.println(\}for(inti=0;im_ImgName[i]=getParameter(\Sytem.out.println(m_ImgName[i]);if(m_ImgName[i]==null)m_ImgName[i]=\}Sytem.out.println(param);MediaTrackermediaTracker=newMediaTracker(thi);//建立一個監(jiān)視器//for(inti=0;i<9;i++)//{//intnTemp=i+1;//m_Image[i]=getImage(getDocumentBae(),\m_ImgAll=getImage(getDocumentBae(),\//裝載總的大圖片//m_Image[i]=getImage(getDocumentBae(),\//mediaTracker.addImage(m_Image[i],i);mediaTracker.addImage(m_ImgAll,1);//}try{mediaTracker.waitForID(1);}catch(E某ceptione){Sytem.out.println(\if(mediaTracker.iErrorAny())Sytem.out.println(\圖片裝載出錯\for(inti=0;i<9;i++){m_Image[i]=createImage(IMAGE_WIDTH,IMAGE_HEIGHT);Graphicg=m_Image[i].getGraphic();intnRow=i%3;in

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論