




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
猶方民族丈禽BeifangEthnicUniversity《java語言程序設計》課程實驗指導書北方民族大學教務處處方民族丈禽《Java語言程序設計》課程實驗指導書編著林淑飛校審任榮北方民族大學教務處二0-0年六月刖呂本書是為指導學生進行java語言程序設計實驗而定制的,目的是通過一系列實驗練習使學生鞏固所學的知識。本書由緒論和基本實驗指導兩大部分內容組成,其中緒論部分包括本課程實驗的作用與任務、本課程實驗的基礎知識、本課程實驗的項目及要求;基本實驗指導部分包括每個實驗的目的、原理、主要儀器及耗材、實驗內容及步驟、實驗注意事項、思考題和參考文獻。目錄TOC\o"1-5"\h\z第一部分緒論 1\o"CurrentDocument"第二部分基本實驗指導 2\o"CurrentDocument"實驗一程序調試 2實驗二繼承與接門 4\o"CurrentDocument"實驗三java的包 7\o"CurrentDocument"實驗四輸入輸出流 9\o"CurrentDocument"實驗五圖形用戶界面設計 11第_部份緒論一、 本課程實驗的作用與任務使學生進一步深刻理解java語言基本概念、語法規則及程序結構,熟練掌握java語言程序設計的基本方法,提高利用java在網絡環境下開發、設計應用程序的能力,從而進一步培養學生的創新能力和解決實際問題的能力。熟悉JDK工具的編程和調試環境;熟練掌握選擇和循環結構的程序設計;熟練掌握面向對象的程序設計思想,包括系統類的應用和用戶自定義類;充分理解類的三種的特性:封裝、繼承和多態,特別是通過接II和抽彖類理解多態;掌握圖形用戶界面的設計,特別是爭件處理;掌握包的使用;掌握常用的輸入輸出流類的應用。最后能根據實驗的要求認真完成實驗報告。二、 本課程實驗的基礎知識Java的基本數據類型包括:byte,short,int,long,double,char。Java的數組屬于引用類型的數據,是將相同類型的數據按順序組成的一種符合數據類型。Java的運算符有算術運算符、關系運算符、邏輯運算符、位運算符和賦值運算符,特別要注意它們的優先級。Java的控制語句有if語句、switch語句、for語句、while語句、do-while語句。類是組成java程序的基本要素,類有兩個重要的成員:成員變量和方法。類是創建對象的模板,類將對象的屬性和功能封裝為一個整體。成員變量和類變量的區別、實例方法和類方法的區別、方法的重載、成員的訪問權限等都是實驗課程所依據的重要理論。繼承、多態、接「1、包及內部類都是java中非常重要的概念。Java使用"流”來讀寫數據。Java的輸入輸出丁作是通過FilelnputStream類、FileReader類、BufferedReader類、ByteArraylnputStrearn類、ByteArrayOutputStream類等完成的。要想使用java設計圖形用戶界面,必須掌握javax.swing和java,awt包中的所有容器類和組件類的用法。三、本課程實驗教學項目及其教學要求序號實驗項目名稱學時教學目標、要求1程序調試2能夠使用jdk調試java程序2繼承與接口2掌握繼承、上轉型對象、接「1回調等知識3Java的包2能夠設計自己的包并引用4輸入輸出流2能夠讀寫txt文檔5圖形界面設計2制作一個簡單的計算器第二部份 基本實驗指導實驗一程序調試一、 實驗目的本實驗的目的是讓學生掌握開發java程序的三個步驟:編寫源文件、編譯源文件和運行應用程序。二、 實驗原理一個jaw應用程序是由若干個類組成的,其中最多能有一個public類。有且只能有一個類含有main方法。Java源程序的擴展名為jaw。Java源程序的名字必須和public類的類名相同,如果沒有public類,只要和其中任一類的類名相同就行。編譯jaw源程序會產生字節碼(.class)文件,源程序有幾個類就會產生幾個class文件。運行?時,只運行含有mam方法的class文件。例如,有一個java源程序有三個類A,E.C,其中A是public類,E含有main方法。那么這個源程序的名字必須是A.java,編譯此程序會產生三個字節碼文件A.class.B.class,C.class.運彳亍B.classo三、 主要儀器及耗材PC機JDK包四、 實驗內容與步驟在控制臺中輸出九九乘法表本練習可以使用戶了解for語句實現循環功能。具體步驟和要求如下:打開一個文本編輯器,(如UtiaEdit文本編輯器。)建立一個新文件MultiplyListl.java,將該程序保存到D:\myjava中。將程序清單1-1中的程序代碼輸入到該文件中并保存。程序清單1-1://MultiplyListl.javapublicclassMultiplyListl{publicstaticvoidniain(Striiig[]aigs){Stiiiigoutput=n";low=1;row<=9;row++){for(intcol=1;col<=row;col++)oiitput+=col+H*n+row+M=n+(ro\v*col)+M”; 〃記錄九九乘法表的內容output+=n\iiH;}System.out.prmtln(output); 〃輸出九九乘法表Svstem.exit(O);運行結果如下圖1-1所示。請將程序清單1-1中的程序段1和程序段2補充完整。1*1=11*2=22*2=41*3=31*1=11*2=22*2=41*3=32*3=63*3=91*4=42*4=83*4=124*4=161*5=52*5=103*5=154*5=205*5=251*6=62*6=123*6=184*6=245*6=306*6=361*?=?2*?=143*7=214*?=285*?=356*?=421*8=82*8=163*8=244*8=325*8=406*8=481*9=92*9=183*9=274*9=365*9=456*9=54C:\mOWS\system32\cmd.exe?*?=49?浜8二568*8=647*9=638*9=?29*9=81圖1」運行結果,輸出九九乘法表4) 打開命令行窗II。具體方法:開始一所有程序-附件一命令提示符5) 編譯源程序。DAmyjava>javacMultiplyListl.java6) 運行程序。D「\myjava>javaMultiplyListl2?用Applet小程序實現九九乘法表。要求:編寫一個Applet小程序MultiplyList.java,將生成的類MultiplyList.class,嵌套在一個HTML如MultiplyList.html中,運行結果如圖1-1所示。importjava.applet.*;importjava.awt.*;publicclassMultiplyListextendsApplet{StringResult=publicvoidinit(){Result=u1 23456789H;for(introw=1;row<10;row++){Result+=row;for(intcol=1;col<=row;col++){if(row*col>=10){Result+=MH;}else{Result+=MH;}Result+=row*col;}
Result+='';}}publicvoidpaint(Graphicsg){g.setColor(Color.white);g.drawString(Result,800,60);}}迴!小稈:序查看器:HuitiplyLi.st.classApplet1*1=11*2=22*2=41*3=32*3=63*3=91*4=42*4=83*4=124*4=161*5=52^5=103*5=154^5=205*5=251*6=62*6=123*6=184*6245*6=306*6=361*7=72*7=143*7=21285*7=356*7=42嚴了二491*8=82*8=163*8=24325*8=406*8=487*8=568*8=641*9=92*9=183*9=274*9=365*9=456*9=541*2=22*2=41*3=32*3=63*3=91*4=42*4=83*4=124*4=161*5=52^5=103*5=154^5=205*5=251*6=62*6=123*6=184*6245*6=306*6=361*7=72*7=143*7=21285*7=356*7=42嚴了二491*8=82*8=163*8=24325*8=406*8=487*8=568*8=641*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81小程序已啟動。圖1-2Applet小程序的運行結果五、 實驗注意事項源程序的名字必須和public類的類名相同,如果沒有public類,就和任意一個類的類名相同。編譯程序時,javac源程序名;而運行程序時,java含有main方法的類名編譯程序時如果遇到下面的錯誤提示:ConunandnotFound說明沒有設置好系統變量Path;FilenotFound說明沒有將源文件保存在當前目錄中。運行時如果遇到下面的錯誤提示:Exceptionmthiead"main”java.lang.NoClassFoundEiToi:說明系統變量ClassPath沒有設置好。注意java是區分大小寫的。六、 思考題請同學們自己設計一個源程序,其中包含兩個類,一個是public,另一個含有main方法。七、參考文獻《JA¥A基礎教程》(第2版),耿詳義編著,清華人學出版社,2007年。《JA¥A語言教程》(第1版),王倫津等編,人民郵電出版社,2001年?!禞ava程序設計教程》(第5版),Deitel著,清華人學出版社,2004年?!禞ava編程思想》(第3版)?BruceEckel著,機械工業出版社,2005年。實驗二繼承與接口一、實驗目的本實驗的目的是讓學生鞏固以卜概念:1) 子類的繼承性;2) 子類對象的創建過程:成員變量的繼承與隱藏;方法的繼承與重寫;上轉型對象的使用:接口回調技術。二、 實驗原理子類繼承父類的成員變量作為自己的一個成員變量,就好象它們是在子類中直接聲明一樣,可以被子類中自己聲明的任何實例方法操作。也就是說,一個子類繼承的成員應該是這個類的完全意義的成員。多態是面向對彖編程的又一重要特征,多態指某個類的不同子類可以根據各自的需要重寫父類的某個方法。當我們把子類創建的對象的引用放到一個父類的對象中時,就得到了該對象的一個上轉型對彖,那么這個上轉型對彖在調用這個方法時就可能具有多種形態,因為不同的子類在重寫父類的方法時可能產生不同的行為。接II是java中非常重要的概念,必須很好地理解和掌握。接II的思想在于它可以增加類需要實現的功能,不同的類可以使用相同的接II,同一個類也可以實現多個接I】。接II回調是多態的另一種體現,接II回調是指:可以把使用某一接II的類創建的對彖的引用賦給接II聲明的接I1變量中,那么接II變量就可以調用被類實現的接II中的方法,當接II變量調用被類實現的接II中的方法時,就是同志相應的對彖調用接II的方法,這一過程稱為對彖功能的接II回調。不同的類在使用同一接II時,可能具有不同的功能體現,即接II的方法體不必相同,因此接口回調可能產生不同的行為。三、 主要儀器及耗材PC機JDK包四、 實驗內容與步驟實驗內容有以下兩個:編寫一個java程序,除了主類外,該程序中還有2兩個類:People和ChinaPeople。People類有訪問權限是protected的double類型成員變量height和weight,以及publicvoidspeakHello()、publicvoidaverageHeiglitQfnpublicvoidavemgeW^ightO方法。ChmaPeople類是People類的子類,新增了publicvoidchinaGongfuQ方法。要求CliuiaPeople重寫父類的publicvoidspeakHello()方法。具體的步驟如下:定義People類。classPeople{protecteddoubleheight,weight;publicvoidspeakHello(){System.out.printhi(“hello”);}publicvoidaverageHeight(){System.out.pnntlii(heiglit);}publicvoidaverageWeight(){System.out.priiitln(weight);}}定義ChmaPeople類。classChmaPeopleextendsPeople{publicvoidspeakHello(){System.out.printlii(“大家好!”);}}定義主類如下:publicclassSluYan_2{publicstaticvoidmam(Stimgr[]){ChmaPeoplecp=newChiiiaPeople();cp.speakHello();cp.averageHeight();Peoplep=newChuiaPeople();p?speakHelloQ;p.averageHeight();編寫一個java程序,除了主類外,有一個接IIPeople,接I丨中有一個方法publicvoidspeakSalesQ,有三個實現類:Teacher?Woik亡[和Pleasanto具體步驟如下:定義People接口.IiiteiiacePeople{publicvoidspeakSalesQ;}定義三個實現類如下:classTeachermiplementsPeople{publicvoidspeakSalesQ{System.out.println("1000”);}}classWorkerimplementsPeople{publicvoidspeakSalesQ{System.out.println("800”);}}classPleasantmiplementsPeople{publicvoidspeakSalesQ{System.out.println(u10M);}}定義主類如卞:publciclassA{publicstaticvoidmam(Stimgr[]){Peoplepl[]=newPeople[3];p1[0]=newTeachei();pl[l]=nexvWorker();p1[2]=newPleasantQ;p1[O].speakSalesQ;p1[l].speakSales();p1[2].speakSales();五、 實益注意事項方法重寫時一定要保證方法的名字、類型、參數的個數和類型同父類的某個方法完全相同,只有這樣子類繼承的這個方法才被隱藏。注意接II數組的初始化和接I1對彖的初始化的區別。六、 思考題請同學們修改此程序,盡量使用抽象類。抽象類和接門有什么異同?七、 參考文獻《JA¥A基礎教程》(第2版),耿詳義編著,清華人學出版社,2007年。《JA¥A語言教程》(第1版),王倫津等編,人民郵電出版社,2001年?!禞ava程序設計教程》(第5版),Deitel著,清華人學出版社,2004年?!禞ava編程思想》(第3版),BruceEckel著,機械工業出版社,2005年。實驗三java的包一、實驗目的本實驗的目的是讓學生掌握包的概念和包的使用,能夠在平時設計程序時靈活創建包和導入包。二、實驗原理包是java語言中有效管理類的一個機制。java的系統類都包含在相應的包中,如java的lang包、swing包、a\vt包等。每個包中有好多類可供用戶直接使用,用戶想要使用哪個包中的類,就得在他的應用程序中導入這個包,如unportjava.lang.*o用戶也可以定義自己的包,方法是:package包名:package語句必須是java源程序的第一條語句。某個源程序包含了package語句,說明此程序中所有的類都將被包含在包中。包名的形式是*.*?*,如tom-lsf,這樣的話用戶的電腦上必須包含../tom/lsf這樣的目錄結構,而且要求編譯生成的字節碼文件必須放在tom文件夾下的lsf文件夾里。在編譯一個包中的類時,-d使jawc編譯器基于該類的Package聲明創建正確的目錄。-d用來指定生成的字節碼文件所在的目錄。-classpath顯式的列出需要加載的類的路徑,但它會把當前目錄從該路徑中刪除,如果必須加載當前目錄中的類,必須顯式得包含當前目錄(.)。三、 主要儀器及耗材PC機JDK包四、 實驗內容與步驟實驗內容如下:編寫一個java程序,并將此程序放在包tom.lsf中。編寫另外一個java程序,并引用tom.lsf包中的類。具體步驟如下:編寫類A。packagetom.jvb;publicclassA{mta,b;A(inta,iiitb){this.a=a;this.b=b;}}編譯A.java,并將A.class放到當前目錄下的tom文件夾下的jvb文件夾里。具體的方法有兩種,一種是直接拷貝,一種是編譯時使用-d直接將生成的class文件放到指定的位置。定義類B.packagetom.jvb;publicclassB{publicstaticvoidmaiii(Stringi[]){Aal=newA(4,5);System.out.prmtln(al.a+" "+a1.b);}}使用-classpath編譯并運行B.java。運行E類文件的命令為:javatom.jyb.B此命令因為類B的類文件被打包到tomjyb中,所以要運行必須給出類B的類文件的完整路徑,即tom.jyb.B若把類A前面的修飾符public去掉,并且去掉類E定義中的打包語句packagetomjyb;,(即E類不需打包),編譯并運行,看看會發生什么事?請記錄錯誤信息,并說明原因。你有什么解決辦法?請列舉出來。(提示:請注意理解類及類成員的封裝性)五、 實驗注意事項1?-classpath和的使用。2?package語句必須在mipoit語句的前面。六、 思考題請同學們制作自己的包,把一些常用的功能封裝在里面,以備今后使用。七、 參考文獻《JA¥A基礎教程》(第2版),耿詳義編著,清華人學出版社,2007年?!禞A¥A語言教程》(第1版),王倫津等編,人民郵電出版社,2001年。《Java程序設計教程》(第5版),Deitel著,清華人學出版社,2004年。《Java編程思想》(第3版)>BruceEckel著,機械工業出版社,2005年。實驗四輸入輸出流一、 實驗目的本實驗的目的是讓學生掌握java的字節輸入輸出流的方法,掌握java的字符輸入輸出流、緩沖流的用法。二、 實驗原理當程序需要讀取磁盤上的數據或將程序中的數據存儲到磁盤時,就可以使用輸入/輸出流,簡稱I/O流。I/O流提供一條通道程序,可以使用這條通道讀取”源”中的數據,或把數據送到”目的地”。FileOutputStream類創建的對象稱為文件字節輸出流,可按字節將數據寫入到文件中。FileliiputStream類創建的對彖稱為文件字節輸入流,可按字節讀取文件中的數據。FileReader類創建的對象稱為文件字符輸入流,可按字符讀取文件中的數據。Filewnter類創建的對■彖稱為文件字符輸出流,可按字符將數據寫入到文件中。BufferedReader類創建的對彖稱為緩沖輸入流,該輸入流的指向必須是一個Reader流,稱為BufferedReader流的底層流。底層流負責將數據讀入到緩沖區,BufferedReader流的源就是這個緩沖區,緩沖輸入流再從緩沖區讀取數據。BufferedWriter類創建的對彖稱為緩沖輸出流,可以將BufferedWriter和FileWriter連接在一起,FileWriter流稱為BufferedReader流的底層流cBufferedWiiter將數據寫入緩沖區,底層流負資將數據寫到最終的目的地。三、 主要儀器及耗材PC機JDK包四、 實驗內容與步驟實驗內容如下:編寫一個java程序,給已存在的文本文件添加行號。要求該文本文件事先用文本編輯完畢,保存在D:\1000目錄中,命名為Hello.txt。具體步驟如下:)生成Hello.txt文件;)設計讀取Hello.txt文件的輸入流對彖和加入序號后保存的輸出流對彖:)設計程序結構;publicclassA{publicstaticvoidinam(Stnngr[]){FileReaerfi-newFileReader(newFile(“Hello.txt”));BufferedReaderbi-newBufferedReader(fi);FileWriterfXv=newFileWiiter(newFile(“temp.txt"));BufferedWriterbw=newBufiferedW門ter(fw);Strings=null;do{s=br.readLineQ;bw.wiite(s);bw.newLme();}while(s!=null);五、 實驗注意事項BufferedWriter對彖調用newLine()口J以向文件寫入回行。BufferedReader對象調用readLme0方法可以讀取文件的一行。六、 思考題請同學們使用字節流的方式實現上述功能。七、 參考文獻《JA¥A基礎教程》(第2版),耿詳義編著,清華人學出版社,2007年。《JA¥A語言教程》(第1版),王倫津等編,人民郵電出版社,2001年?!禞ava程序設計教程》(第5版),Deitel著,清華人學出版社,2004年?!禞ava編程思想》(第3版),BmceEckel著,機械工業出版社,2005年。實驗五圖形用戶界面設計一、實驗目的掌握常用圖形界面組件(按鈕、文本框等)對象的創建及其常用方法的使用。如,按鈕的常用方法是getLabel(),文本框的常用方法有setTextO,getText()等。掌握常用的布局管理類CardLayou,BordeiLayout,FlowLayout,GiidLayout的使用策略。能夠將它們聯合起來使用。掌握java語言的事件處理。每個事件對應的接II(或適配器類)是什么,每個接II有哪些方法,如何進行委托處理,被委托者必須做什么。二、 實驗原理通過圖形用戶界面(GUI),用戶和程序之間可以方便地進行交互。jnwx.swing包中的組件類可以幫助我們完整界面的設計。javax.swmg包的JComponent類是java.awt包中的Container類的一個直接子類、Component類的間接子類。javax.swiiig包中的JFrame類和JDialog類分別是java.awt包中Frame類和Dialog類的直接子類、Window類的河接子類。在學習GUI編程時,必須很好地理解并掌握兩個概念:容器類和組件類,必須很好地掌握java的事件處理機制。三、 主要儀器及耗材PC機JDK包四、 實驗內容與步驟實驗內容:密碼驗證問題。編寫一個Java程序,實現用戶根據自己的密碼進入界面,如果用戶輸入信息正確,則輸出“歡迎XXX用戶”,否則用戶還可以嘗試兩次,如果嘗試階段輸入信息錯誤,則輸出“請輸入正確的信息”,如果嘗試失敗,用戶則退出。圖8-2顯示歡迎信息調試并編譯程序PasswoidVeiification.java,運行該程序,運行結果如圖8-1、圖8-2、圖8-3和圖8-4所示,請將程序中的代碼1?代碼7圖8-2顯示歡迎信息圖8」運行結果,輸入正確信息圖8-3運行結果,輸入錯誤信息圖圖8-3運行結果,輸入錯誤信息圖8-4顯示重新輸入信息程序清單://PasswoidVerification.javaunportjavax.swing.*;unportjava.awt.event.*;unportjava.awt.*;publicclassPasswordVerificationextendsJFrame{JLabeluserLabel;JLabelpasswordLabel;JTextFielduserText;JPasswordFieldpasswordText;mtcount=l;//統計輸入信息的次數publicPasswordVerificationO{supei(n請輸入信息”);Containerc=代碼];//得到容器對象containerc.setLayout(newFlowLayout());//設置默認布局userLabel=代碼27創建用戶標簽passwoidLabel=代碼j;〃創建密碼標簽userText=|代碼働創建用戶文本輸入框passwordText=代碼*/創建密碼輸入文本框passwordText?代碼6(newActioiiListener(){〃注冊爭件監聽者publicvoidactioiiPerformed(代碼7)〃事件處理StringuserName=newString("陳三”);〃假設為正確的用戶名Stringpassword=newStrmg(H12345678H)^/假設為正確的密碼if(e.getSouice()=passwordText){count卄;chai[]passwords=passwordText.getPassword();if(useiText.getTextQ.equals(userName)&&pas
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- ??诜课葙I賣合同
- 個人公積金商業貸購房合同
- 15 我們不亂扔 公開課一等獎創新教學設計
- 幼兒表演性舞蹈創編實例
- 員工加班調休統計分析報告審核獎懲管理制度
- 蘇教版八年級上冊第七單元 生物和環境是統一體第十九章 生態系統第一節 生態系統的組成教案
- 人教版小學二年級上冊數學 第1單元 長度單位 教案
- 房產買賣合同中介兩方
- 個人二手房購房合同范本
- 2025標準酒店員工勞動合同
- 教育行業數字化轉型解決方案
- 打破學習瓶頸,走出高原反應ppt課件
- 束管監測管理制度管理辦法及崗位責任制
- 安徽中醫藥大學專升本(語文)科目考試題庫(含歷年重點題)
- 后勤管理安全生產培訓內容122頁PPT課件
- 直銷人必備—目標與計劃
- 等離子體光譜診斷實驗報告
- COMMERCIAL INVOICE 商業發票
- 永磁吸盤使用方法及安全事項
- 哈薩克斯坦2050戰略總統國情咨文(中文版)
- 接待手冊(范本)
評論
0/150
提交評論