




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
信息學(xué)院本科實驗教學(xué)講義(實驗)課程名稱:Java程序設(shè)計貴州財經(jīng)學(xué)院教務(wù)處制2012年9月目錄TOC實驗項目一語言基礎(chǔ)4一、實驗內(nèi)容、目標(biāo)及要求4(一)實驗內(nèi)容4(二)實驗?zāi)繕?biāo)4(三)實驗要求4二、實驗準(zhǔn)備4(一)運行環(huán)境說明4(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明10三、實驗基本操作流程及說明10(二)操作步驟11實驗項目二Java流程控制14一、實驗內(nèi)容、目標(biāo)及要求14(一)實驗內(nèi)容14(二)實驗?zāi)繕?biāo)14(三)實驗要求14二、實驗準(zhǔn)備14(一)運行環(huán)境說明14(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明14三、實驗基本操作流程及說明15(一)系統(tǒng)界面及說明15(二)操作步驟15實驗項目三面向?qū)ο蟪绦蛟O(shè)計18一、實驗內(nèi)容、目標(biāo)及要求18(一)實驗內(nèi)容18(二)實驗?zāi)繕?biāo)18(三)實驗要求18二、實驗準(zhǔn)備18(一)運行環(huán)境說明18(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明18三、實驗基本操作流程及說明19(一)系統(tǒng)界面及說明19(二)操作步驟19四、實驗測評與考核21實驗項目四接口、包、異常23一、實驗內(nèi)容、目標(biāo)及要求23(一)實驗內(nèi)容23(二)實驗?zāi)繕?biāo)24(三)實驗要求24二、實驗準(zhǔn)備24(一)運行環(huán)境說明24(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明24三、實驗基本操作流程及說明24(一)系統(tǒng)界面及說明24(二)操作步驟24實驗項目五包和字符串28一、實驗內(nèi)容、目標(biāo)及要求28(一)實驗內(nèi)容28(二)實驗?zāi)繕?biāo)28(三)實驗要求28二、實驗準(zhǔn)備28(一)運行環(huán)境說明28(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明28三、實驗基本操作流程及說明29(一)系統(tǒng)界面及說明29(二)操作步驟29實驗項目六文件的操作及輸入輸出32一、實驗內(nèi)容、目標(biāo)及要求32(一)實驗內(nèi)容32(二)實驗?zāi)繕?biāo)32(三)實驗要求32二、實驗準(zhǔn)備32(一)運行環(huán)境說明32(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明32三、實驗基本操作流程及說明33(一)系統(tǒng)界面及說明33(二)操作步驟33實驗項目一語言基礎(chǔ)一、實驗內(nèi)容、目標(biāo)及要求(一)實驗內(nèi)容1.編寫一個JavaApplication程序,接受用戶輸入的一個浮點數(shù),并分別輸出其整數(shù)與小數(shù)部分。2.編寫一個JavaApplication程序,接受用戶輸入的十個整數(shù),并分別最大與最小數(shù)。3.編程求一個整數(shù)數(shù)組的最大值、最小值、平均值與總和。(二)實驗?zāi)繕?biāo)實驗?zāi)康模菏煜ava程序的結(jié)構(gòu),并能完成一些基本的算法操作。(三)實驗要求實驗前認(rèn)真預(yù)習(xí)實驗內(nèi)容。實驗時自覺遵守課堂紀(jì)律,嚴(yán)格按操作規(guī)程操作,既要獨立操作又要與其他同學(xué)配合,在實驗過程中必須按照實驗內(nèi)容認(rèn)真做完實驗,并認(rèn)真填寫相關(guān)實驗報告。二、實驗準(zhǔn)備(一)運行環(huán)境說明PC計算機,Windows2000(或WindowsXP)及以上版本,并安裝JAVA編譯器(JDK)JDK安裝,請從本公司的服務(wù)器(\\\軟件資源\軟件開發(fā)工具\java\jdk-6u14-windows-i586.exe)上下載JDK1.6,同樣可在Sun公司的官方網(wǎng)站上下載JDK。1.2 安裝JDK運行JDK的exe可執(zhí)行文件,彈出如下對話框,點擊【接受】,如圖2-1:圖2-1默認(rèn)安裝所有JDK組件,安裝路徑為C:\ProgramFiles\Java\jdk1.6.0_14\,可選擇點擊【更改】自定義安裝目錄,推薦默認(rèn)安裝目錄,點擊【下一步】開始安裝JDK,如圖2-2:圖2-2安裝過程大概幾十秒,在最后的對話框中點擊【完成】結(jié)束安裝,如圖2-3:圖2-3配置環(huán)境變量:A。右鍵【我的電腦】→【屬性】,在彈出的對話框中選擇【高級】選項卡,點擊【環(huán)境變量】,如圖3-1所示:圖3-1彈出環(huán)境變量配置窗口,其中“用戶變量”的設(shè)置是針對當(dāng)前操作用戶的,而“系統(tǒng)變量”是針對當(dāng)前系統(tǒng)設(shè)置的,也就是所有用戶共享系統(tǒng)環(huán)境變量。如圖3-2所示:圖3-2JAVA_HOME環(huán)境變量配置:單擊【系統(tǒng)變量】選項組的【新建】按鈕。在彈出的“新建系統(tǒng)變量”對話框中為“變量名”指定值:JAVA_HOME;如圖3-3所示:圖3-3打開JDK的安裝目錄,復(fù)制顯示在地址欄的JDK的根路徑,為“變量值”指定值為JDK的安裝根路徑,如圖3-4所示,單擊【確定】,完成JAVA_HOME變量的創(chuàng)建。圖3-4注意:1.盡量在【系統(tǒng)變量】下新建變量,因為在【系統(tǒng)變量】下設(shè)置的環(huán)境變量在更換用戶后可以不用再重新設(shè)置環(huán)境變量。2.變量名為JAVA_HOME,而不是JAVA-HOME。3.變量值為JDK的實際安裝目錄,本文檔設(shè)置的變量值是默認(rèn)的JDK安裝目錄,讀者可以按照自己的JDK安裝目錄設(shè)置變量值。C。Path環(huán)境變量配置:向下拖動【系統(tǒng)變量】選項組的滾動條(如圖3-5),找到PATH變量,雙擊該變量,彈出【編輯系統(tǒng)變量】的對話框(如圖3-6):圖3-5單擊變量值的文本框,在鍵盤上按下【End】鍵(或者拖動鼠標(biāo)到文本框最后),若原有的變量值后面沒有“;”號,在原有的變量值后添加“;”號后繼續(xù)添加%JAVA_HOME%\bin;單擊【確定】完成PATH變量的配置。圖3-6注意:1.不要刪除原有的系統(tǒng)環(huán)境變量的變量值,因為這樣會使系統(tǒng)喪失其他path功能。2.“;”號和“%”為英文標(biāo)點,不是中文標(biāo)點,%JAVA_HOME%\bin中的斜杠是反斜杠,不是“/”。%%//3.“%JAVA_HOME%”是引用前面設(shè)置的JAVA_HOME環(huán)境變量?!?”用于分隔兩個變量值。4.有些電腦上PATH變量名是“Path”、“path”,其實都是一樣的。Classpath環(huán)境變量配置:若在系統(tǒng)變量中沒有CLASSPATH變量,可重復(fù)新建JAVA_HOME變量的步驟創(chuàng)建CLASSPATH變量,變量名指定為:CLASSPATH;變量值指定為:.;%JAVA_HOME%\lib;如圖3-7。設(shè)置好后,單擊【確定】完成CLASSPATH的配置。圖3-7注意:1.變量值前面的“.;”兩個英文符號不能少。指代當(dāng)前目錄。測試環(huán)境變量是否配置正確:單擊【開始】→【運行】,在彈出的對話框中輸入cmd,并單擊【確定】或者按回車鍵啟動DOS環(huán)境,如圖3-8:圖3-8在DOS命令下輸入:java–version,若path變量配置成功,系統(tǒng)輸出JDK的版本信息,如圖3-9所示:圖3-9繼續(xù)在命令行下輸入javac命令,若CLASS_PATH配置正確,則系統(tǒng)輸出命令相關(guān)選項,如圖3-10所示。至此,JDK環(huán)境已經(jīng)搭建成功。圖3-10注意:1.不能使用java命令測試環(huán)境變量是否配置成功,因為java命令是內(nèi)置命令,就算不配置環(huán)境變量,該命令也可以成功運行。(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明計算機,Windows2000(或WindowsXP)及以上版本,JAVA編譯器均能正常運行。三、實驗基本操作流程及說明.(一)系統(tǒng)界面及說明為了詳細(xì)說明開發(fā)環(huán)境的使用以及如何在該環(huán)境下調(diào)試JAVA語言程序,下面通過一個非常簡單的示例程序來介紹?,F(xiàn)有一段具有基本JAVA程序結(jié)構(gòu)和說明的程序如下,該程序的功能是在屏幕上輸出顯示:“我開始學(xué)習(xí)使用Java語言?!笔紫仍谟浭卤局袑懭胂铝写a:publicclassLab01_2{ /** *main方法,程序的起點 */ publicstaticvoidmain(String[]args){ //向控制臺輸出 System.out.println("我開始學(xué)習(xí)使用Java語言。");}}(二)操作步驟在DOS環(huán)境下調(diào)試與運行程序:(1)輸入javacLab01_2.java,你將在根目錄下看到已編譯好的Lab01_2.class文件,此時,輸入javaLab01_2,你將自到下列輸出結(jié)果。按照參考程序1的輸入與調(diào)試方法,輸入、檢查、調(diào)試和運行自己編寫的程序,實驗一項目程序名為:A1_學(xué)號.java。參考源程序清單。
程序1:importjava.io.*;importjava.lang.*;importjava.util.Scanner;publicclassTest_1_1{ /** *@paramargs */ publicstaticvoidmain(String[]args){ inta; Stringstr1,str2; Scannerinput=newScanner(System.in); System.out.println("請輸入一個浮點數(shù):"); Stringstr=input.next(); a=str.indexOf('.'); str1=(String)str.subSequence(0,a); str2=str.substring(a+1); System.out.println("整數(shù)部分:"+str1); System.out.println("小數(shù)部分:"+str2); }}
程序2:importjava.util.Scanner;publicclassTest_1_2{ /** *@paramargs */ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub Scannerinput=newScanner(System.in);//輸入方法,每輸入一個數(shù)按回車確定 inta[]=newint[10];//一個長度為10的數(shù)組 intmax=a[0],min=a[0]; for(inti=0;i<a.length;i++){ a[i]=input.nextInt();//將輸入的10個數(shù)賦值給數(shù)組 } for(inti=0;i<a.length;i++){//比較最大和最小 if(a[i]>max) max=a[i]; if(a[i]<min) min=a[i]; } System.out.println("最大數(shù)是:"+max); System.out.println("最小數(shù)是:"+min); } }
程序3:importjava.io.IOException;publicclassTest_2_3{ publicstaticvoidmain(String[]args){ intarray[]; intnum=10;//若需要不同的數(shù)組長度,修改num的值即可。 inti; intmax,min,sum; floataverage; array=newint[num]; for(i=0;i<num;i++) array[i]=(int)(Math.random()*num)+1; max=min=sum=array[0]; for(i=1;i<num;i++){ if(max<array[i]) max=array[i]; if(min>array[i]) min=array[i]; sum+=array[i]; } average=(float)sum/num; System.out.print("最大值:"+max+"\n最小值:"+min+"\n所有數(shù)組元素的和:"+sum +"\n平均值:"+average); try{ System.in.read(); }catch(IOExceptione){ } }}四、實驗測評與考核學(xué)生實驗報告撰寫要求:1、考核實驗項目概念考核學(xué)生所須掌握實驗項目的相關(guān)概念。20℅2、考核實驗項目設(shè)計考核學(xué)生按實驗項目規(guī)定的內(nèi)容編寫可執(zhí)行源代碼的能力。40%3、考核實驗結(jié)果考核學(xué)生能否根據(jù)實驗項目完成后,設(shè)計的思路是否合理。20℅考核學(xué)生實驗項目所編寫的執(zhí)行源代碼是否是獨立完成。20%學(xué)生實驗成績評定規(guī)則及方法:1、實驗報告格式要求學(xué)生須按實驗報告格式要求逐項填寫。評分為:20分2、實驗項目的設(shè)計學(xué)生須按實驗項目規(guī)定的內(nèi)容編寫實驗室的原理;程序流程圖;可執(zhí)行的源代碼,評分為:40分3、實驗結(jié)果運行結(jié)果,以屏幕拷貝形式填入實驗報告中的實驗結(jié)果欄內(nèi)。評分為:20分4、實驗項目結(jié)果是獨立完成。評分為:20分其他說明:1、對于實驗中的設(shè)計內(nèi)容,學(xué)生最好在實驗課前做一些設(shè)計工作2、實驗報告按規(guī)范格式書寫,在下次上課時交。實驗項目二Java流程控制一、實驗內(nèi)容、目標(biāo)及要求(一)實驗內(nèi)容1.編寫一個Java程序,接受用戶輸入的字符,以“#”表示輸入的結(jié)束,比較并輸出按照字典順序最小的字符。2.編寫一個Java程序,接受用戶輸入的一個1~12之間的整數(shù),利用switch語句輸出對應(yīng)月份的天數(shù)。(二)實驗?zāi)繕?biāo)掌握J(rèn)ava程序的switch…casc語句與循環(huán)語句以及數(shù)組的用法。(三)實驗要求實驗前認(rèn)真預(yù)習(xí)實驗內(nèi)容,實驗時自覺遵守課堂紀(jì)律,嚴(yán)格按操作規(guī)程操作,既要獨立操作又要與其他同學(xué)配合,在實驗過程中必須按照實驗內(nèi)容認(rèn)真做完實驗,并認(rèn)真填寫相關(guān)實驗報告。二、實驗準(zhǔn)備(一)運行環(huán)境說明見實驗項目一的運行環(huán)境說明。(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明見實驗項目一的基礎(chǔ)數(shù)據(jù)設(shè)置及說明。三、實驗基本操作流程及說明(一)系統(tǒng)界面及說明見實驗項目一的系統(tǒng)界面及說明。(二)操作步驟按照參考程序1的輸入與調(diào)試方法,輸入、檢查、調(diào)試和運行自己編寫的程序,實驗二項目程序名為:A2_學(xué)號.java,參源程序清單。程序1importjava.io.*;publicclassC{publicstaticvoidmain(String[]args)throwsIOException{Readerreader=newInputStreamReader(System.in);BufferedReaderinput=newBufferedReader(reader);System.out.print("EntertheChar:");Stringmonth=input.readLine();charc0=month.charAt(0);charc1=month.charAt(0);System.out.println("EntertheCharis:"+c1);System.out.println("Mincharis:"+c0);while(true){ System.out.println(); System.out.println("EntertheChar:");month=input.readLine();c1=month.charAt(0);System.out.println("EntertheCharis:"+c1);//System.out.println();if(c1=='#'){ break;}if(c1<c0){ c0=c1;}System.out.println("Mincharis:"+c0);}System.out.println("FinalMincharis:"+c0);}}程序2:importjava.util.Scanner;classDemo{ publicvoidfun(){ Scannersc=newScanner(System.in); try{ intdata=sc.nextInt(); switch(data){ case1: System.out.println("31days"); break; case2: System.out.println("28days"); break; case3: System.out.println("31days"); break; case4: System.out.println("30days"); break; case5: System.out.println("31days"); break; case6: System.out.println("30days"); break; case7: System.out.println("31days"); break; case8: System.out.println("31days"); break; case9: System.out.println("30days"); break; case10: System.out.println("31days"); break; case11: System.out.println("30days"); break; case12: System.out.println("31days"); break; default: fun(); } }catch(Exceptione){ System.out.println("badinput!"); } }}publicclassTest_2_1{ publicvoidmain(String[]args){ //TODOAuto-generatedmethodstub Demodemo=newDemo(); demo.fun(); }}實驗測評與考核學(xué)生實驗報告撰寫要求:1、考核實驗項目概念考核學(xué)生所須掌握實驗項目的相關(guān)概念。20℅2、考核實驗項目設(shè)計考核學(xué)生按實驗項目規(guī)定的內(nèi)容編寫可執(zhí)行源代碼的能力。40%3、考核實驗結(jié)果考核學(xué)生能否根據(jù)實驗項目完成后,設(shè)計的思路是否合理。20℅考核學(xué)生實驗項目所編寫的執(zhí)行源代碼是否是獨立完成。20%學(xué)生實驗成績評定規(guī)則及方法:1、實驗報告格式要求學(xué)生須按實驗報告格式要求逐項填寫。評分為:20分2、實驗項目的設(shè)計學(xué)生須按實驗項目規(guī)定的內(nèi)容編寫實驗室的原理;程序流程圖;可執(zhí)行的源代碼,評分為:40分3、實驗結(jié)果運行結(jié)果,以屏幕拷貝形式填入實驗報告中的實驗結(jié)果欄內(nèi)。評分為:20分4、實驗項目結(jié)果是獨立完成。評分為:20分其他說明:1、對于實驗中的設(shè)計內(nèi)容,學(xué)生最好在實驗課前做一些設(shè)計工作2、實驗報告按規(guī)范格式書寫,在下次上課時交實驗項目三面向?qū)ο蟪绦蛟O(shè)計一、實驗內(nèi)容、目標(biāo)及要求(一)實驗內(nèi)容1.設(shè)計一個長方形類,成員變量包括長和寬。類中有計算面積和周長的方法,要求有重載的構(gòu)造方法,并有相應(yīng)的set和get方法設(shè)置、獲得長方形的長和寬。編寫測試類測試其是否能達(dá)到預(yù)定的功能,要求使用自定義的包。(建議完成時間:30分鐘)2.設(shè)計雇員Employee類,記錄雇員的信息,包括姓名、年薪、受雇用時間,要求定義MyDate類作為受雇用的時間,其中包括年、月、日。要求有重載的構(gòu)造方法,并用相應(yīng)的方法對Employee類進行設(shè)置。編寫測試類測試Employee類,要求使用自定義的包。(建議完成時間:35分鐘)(二)實驗?zāi)繕?biāo)熟練掌握類的創(chuàng)建與使用,理解封裝與抽象的概念,理解信息隱藏及4種訪問控制修飾符的用法,熟練掌握構(gòu)造方法的用法。(三)實驗要求實驗前認(rèn)真預(yù)習(xí)實驗內(nèi)容,實驗時自覺遵守課堂紀(jì)律,嚴(yán)格按操作規(guī)程操作,既要獨立操作又要與其他同學(xué)配合,在實驗過程中必須按照實驗內(nèi)容認(rèn)真做完實驗,并認(rèn)真填寫相關(guān)實驗報告。二、實驗準(zhǔn)備(一)運行環(huán)境說明見實驗項目一的運行環(huán)境說明。(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明見實驗項目一的基礎(chǔ)數(shù)據(jù)設(shè)置及說明。三、實驗基本操作流程及說明(一)系統(tǒng)界面及說明見實驗項目一的系統(tǒng)界面及說明。(二)操作步驟按照參考程序1的輸入與調(diào)試方法,輸入、檢查、調(diào)試和運行自己編寫的程序,實驗三項目程序名為:A3_學(xué)號.java參源程序清單。
程序1:importjava.io.*;publicclassRectangle{ privatedoubleheight; privatedoublewidth; publicdoublegetHeight(){ returnheight; } publicvoidsetHeight(doubleheight){ this.height=height; } publicdoublegetWidth(){ returnwidth; } publicvoidsetWidth(doublewidth){ this.width=width; } publicdoublecalArea(){ returnheight*width; } publicdoublecalGirth(){ return(height+width)*2; } publicRectangle(doubleheight,doublewidth){super();this.height=height; this.width=width; } publicRectangle(){ this.height=0; this.width=0; } publicstaticvoidmain(String[]args){ Rectangler1=newRectangle(); Rectangler2=newRectangle(15.5,25.6); System.out.println("r1的面積為:"+r1.calArea()+"平方厘米!"); System.out.println("r1的周長為:"+r1.calGirth()+"厘米!"); System.out.println("r2的面積為:"+r2.calArea()+"平方厘米!"); System.out.println("r2的周長為:"+r2.calGirth()+"厘米!"); r1.setHeight(20.0); r1.setWidth(50.0); System.out.println("r1的面積為:"+r1.calArea()+"平方厘米!"); System.out.println("r1的周長為:"+r1.calGirth()+"厘米!");}}
程序2:
publicclassMyDate{ privateintyear=2010; privateintmonth=1; privateintday=1; publicMyDate(){} publicintgetYear(){ returnyear;} publicvoidsetYear(intyear){ this.year=year;} publicintgetMonth(){ returnmonth;} publicvoidsetMonth(intmonth){this.month=month;}publicintgetDay(){ returnday;} publicvoidsetDay(intday){ this.day=day;} publicMyDate(intyear,intmonth,intday){ this.year=year; this.month=month; this.day=day; } publicStringtoString(){ returnthis.year+"年"+this.month+"月"+this.day+"日";}}publicclassEmployee{ privateStringname=""; privatedoubleannualSalary=0.0; privateMyDateemployed=newMyDate(); publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ =name;} publicEmployee(Stringname,doubleannualSalary){ super(); =name; this.annualSalary=annualSalary; this.employed=newMyDate(); } publicdoublegetAnnualSalary(){ returnannualSalary;} publicvoidsetAnnualSalary(doubleannualSalary){ this.annualSalary=annualSalary;} publicMyDategetEmployed(){ returnemployed;} publicvoidsetEmployed(intyear,intmonth,intday){ this.employed=newMyDate(year,month,day);} publicstaticvoidmain(String[]args){ Employeee1=newEmployee("Tom",100000); e1.setEmployed(2010,7,20); System.out.println(e1.getName()+"入職于:"+e1.getEmployed()+",年薪為:"+e1.getAnnualSalary());}}四、實驗測評與考核學(xué)生實驗報告撰寫要求:1、考核實驗項目概念考核學(xué)生所須掌握實驗項目的相關(guān)概念。20℅2、考核實驗項目設(shè)計考核學(xué)生按實驗項目規(guī)定的內(nèi)容編寫可執(zhí)行源代碼的能力。40%3、考核實驗結(jié)果考核學(xué)生能否根據(jù)實驗項目完成后,設(shè)計的思路是否合理。20℅考核學(xué)生實驗項目所編寫的執(zhí)行源代碼是否是獨立完成。20%學(xué)生實驗成績評定規(guī)則及方法:1、實驗報告格式要求學(xué)生須按實驗報告格式要求逐項填寫。評分為:20分2、實驗項目的設(shè)計學(xué)生須按實驗項目規(guī)定的內(nèi)容編寫實驗室的原理;程序流程圖;可執(zhí)行的源代碼,評分為:40分3、實驗結(jié)果運行結(jié)果,以屏幕拷貝形式填入實驗報告中的實驗結(jié)果欄內(nèi)。評分為:20分4、實驗項目結(jié)果是獨立完成。評分為:20分其他說明:1、對于實驗中的設(shè)計內(nèi)容,學(xué)生最好在實驗課前做一些設(shè)計工作2、實驗報告按規(guī)范格式書寫,在下次上課時交實驗項目四接口、包、異常一、實驗內(nèi)容、目標(biāo)及要求(一)實驗內(nèi)容1.在以下給出Java代碼基礎(chǔ)上,添加異常處理機制的代碼,使得代碼在出現(xiàn)異常時能正常結(jié)束程序的運行。publicclassLab4_l{publicstaticvoidmain(String[]args){floata[]=newfloat[5];floatsum=0;for(inti=0;i<a.1ength;i++){a[i]=Float.parseFloat(args[i]);System.out.println(“第”+(i+1)+”門課程的成績是:”+a[i]);Sum=sum+a[i];}System.out.println(“總成績是:”+sum);floatavg=sum/a.1ength;System.out.println(”平均成績是:”+avg);}}(提示:使用多重catch塊)2.它成下列問題:a.創(chuàng)建接口Eatable。里面定義抽象方法howToEat0。b.創(chuàng)建2組類,每種可吃對象類必須能夠?qū)崿F(xiàn)接口Eatable。第一組:Animal類及其了類Pig、Chicken和Tiger,其中Chicken類必須實現(xiàn)Eatable接口。第:組:Fruit類及其于類Apple和Orange,因為水果都可以吃,所以Fruit實現(xiàn)Eatable接VI,給出howToEat方法的通用實現(xiàn)。在Apple和Orange類里給出該方法的專有實現(xiàn)。c.在每個類中重定義toString()方法,返回類名。d.創(chuàng)建測試程序,包含main()方法和showObject()方法,在main()方法聲明和創(chuàng)建Object類型的4個實例,分別是老虎、雞、蘋果和橘子,然后調(diào)用showObject0方法,該方法如下:publicstaticvoidshowObject(Objectobject){System.out.primln(object);if(objectinstanceofEatable){((Eatable)object).howToEat();}}(二)實驗?zāi)繕?biāo)熟練掌握接口的應(yīng)用。掌握J(rèn)ava異常的處理機制包括多重catch塊的使用。(三)實驗要求實驗前認(rèn)真預(yù)習(xí)實驗內(nèi)容,實驗時自覺遵守課堂紀(jì)律,嚴(yán)格按操作規(guī)程操作,既要獨立操作又要與其他同學(xué)配合,在實驗過程中必須按照實驗內(nèi)容認(rèn)真做完實驗,并認(rèn)真填寫相關(guān)實驗報告。二、實驗準(zhǔn)備(一)運行環(huán)境說明見實驗項目一的運行環(huán)境說明。(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明見實驗項目一的基礎(chǔ)數(shù)據(jù)設(shè)置及說明。三、實驗基本操作流程及說明(一)系統(tǒng)界面及說明見實驗項目一的系統(tǒng)界面及說明。(二)操作步驟按照參考程序1的輸入與調(diào)試方法,輸入、檢查、調(diào)試和運行自己編寫的程序,實驗三項目程序名為:A4_學(xué)號.java,參源程序清單。程序1publicclassLab07_1{ publicstaticvoidmain(String[]args){ try{ floata[]=newfloat[5];floatsum=0;for(inti=0;i<a.length;i++){ a[i]=Float.parseFloat(args[i]); System.out.println("第"+(i+1)+"門課程的成績是:"+a[i]); sum=sum+a[i]; } System.out.println("總成績是:"+sum); floatavg=sum/a.length; System.out.println("平均成績是:"+avg); }catch(ArrayIndexOutOfBoundsExceptionex1){ System.out.println(ex1.getMessage()); }catch(NumberFormatExceptionex2){ System.out.println(ex2.getMessage());}}}程序2publicinterfaceEatable{ publicvoidhowToEat();}publicclassAnimalimplementsEatable{ publicvoidhowToEat(){ System.out.println("煮熟了吃!"); } publicStringtoString(){ return"Animal";}}classPigextendsAnimal{ publicvoidhowToEat(){System.out.println("紅燒豬蹄");}publicStringtoString(){ return"Pig";}}classChickenextendsAnimal{ publicvoidhowToEat(){ System.out.println("脫骨扒雞");} publicStringtoString(){ return"Chicken";}}classTigerextendsAnimal{ publicvoidhowToEat(){ System.out.println("保護動物,不能吃"); } publicStringtoString(){ return"Tiger";}}publicclassFruitimplementsEatable{publicvoidhowToEat(){ System.out.println("吃水果要剝皮!");} publicStringtoString(){ return"Fruit";}}classAppleextendsFruit{ publicvoidhowToEat(){ System.out.println("吃蘋果");} publicStringtoString(){ return"Apple";}}classOrangeextendsFruit{ publicvoidhowToEat(){ System.out.println("吃桔子"); } publicStringtoString(){ return"Orange"; }}publicclassTestEat{ publicstaticvoidshowObject(Objectobject){ System.out.println(object); if(objectinstanceofEatable){((Eatable)object).howToEat(); }} publicstaticvoidmain(String[]args){ showObject(newApple()); showObject(newOrange()); showObject(newTiger()); showObject(newChicken());}}四、實驗測評與考核學(xué)生實驗報告撰寫要求:1、考核實驗項目概念考核學(xué)生所須掌握實驗項目的相關(guān)概念。20℅2、考核實驗項目設(shè)計考核學(xué)生按實驗項目規(guī)定的內(nèi)容編寫可執(zhí)行源代碼的能力。40%3、考核實驗結(jié)果考核學(xué)生能否根據(jù)實驗項目完成后,設(shè)計的思路是否合理。20℅考核學(xué)生實驗項目所編寫的執(zhí)行源代碼是否是獨立完成。20%學(xué)生實驗成績評定規(guī)則及方法:1、實驗報告格式要求學(xué)生須按實驗報告格式要求逐項填寫。評分為:20分2、實驗項目的設(shè)計學(xué)生須按實驗項目規(guī)定的內(nèi)容編寫實驗室的原理;程序流程圖;可執(zhí)行的源代碼,評分為:40分3、實驗結(jié)果運行結(jié)果,以屏幕拷貝形式填入實驗報告中的實驗結(jié)果欄內(nèi)。評分為:20分4、實驗項目結(jié)果是獨立完成。評分為:20分其他說明:1、對于實驗中的設(shè)計內(nèi)容,學(xué)生最好在實驗課前做一些設(shè)計工作2、實驗報告按規(guī)范格式書寫,在下次上課時交實驗項目五包和字符串一、實驗內(nèi)容、目標(biāo)及要求(一)實驗內(nèi)容1.自己設(shè)計類MyClass,重寫clone()、equals()、toStringO方法,并驗證。2.編寫程序,求從鍵盤上輸任意字符串(字符串為:100*2+160/(78+2))中有多少個整常數(shù)。3.編寫程序,從鍵盤上輸任意表示文件路徑的字符串,將某表示文件路徑的字符串(假如是c:\1\1l\test.java)的文件路徑和文件名分離。(二)實驗?zāi)繕?biāo)理解Object類的clone()、equals()、toString()方法,并能熟練應(yīng)用,熟悉String類的常用方法,并能熟練應(yīng)用。(三)實驗要求實驗前認(rèn)真預(yù)習(xí)實驗內(nèi)容,實驗時自覺遵守課堂紀(jì)律,嚴(yán)格按操作規(guī)程操作,既要獨立操作又要與其他同學(xué)配合,在實驗過程中必須按照實驗內(nèi)容認(rèn)真做完實驗,并認(rèn)真填寫相關(guān)實驗報告。二、實驗準(zhǔn)備(一)運行環(huán)境說明見實驗項目一的運行環(huán)境說明。(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明見實驗項目一的基礎(chǔ)數(shù)據(jù)設(shè)置及說明。三、實驗基本操作流程及說明(一)系統(tǒng)界面及說明見實驗項目一的系統(tǒng)界面及說明。(二)操作步驟按照參考程序1的輸入與調(diào)試方法,輸入、檢查、調(diào)試和運行自己編寫的程序,實驗三項目程序名為:A5_學(xué)號.java,參源程序清單
程序1:importjava.util.*;publicclassMyClassimplementsCloneable{ inti=100; publicStringtoString(){ returnthis.getClass().getName(); } publicObjectclone()throwsCloneNotSupportedException{returnsuper.clone();}publicbooleanequals(MyClassobj){ returnthis.i==obj.i;}publicstaticvoidmain(String[]args)throwsException{ MyClassme=newMyClass(); MyClassmysister=(MyClass)me.clone(); System.out.println(me.toString()); System.out.println(mysister.equals(me)); mysister.i=50; System.out.println(me.i);}}程序2:/***求指定字符串100*2+160/(78+2)中有多少個整常數(shù)。**/publicclassLab08_2{publicstaticvoidmain(Stringags[]){Stringstr=newString("100*2+160/(78+2)");inti,flag=0,count=0,len=str.length();for(i=0;i<len;i++){if(Character.isDigit(str.charAt(i))==true){ if(flag==0){ count++; flag=1; }}else flag=0;}System.out.println("count="+count);}}
程序3:/**將某表示文件路徑的字符串的文件路徑和文件名分離。*/publicclassLab08_3{privateStringfullpath;//帶路徑的文件名privatefinalcharpathSeparator='\\';publiclab05_3(Stringfname){//構(gòu)造方法fullpath=fname;}/*獲取文件名,文件名是最后一個分隔符后面的子串*/publicStringgetname(){intpos=fullpath.lastIndexOf(pathSeparator);if(pos==-1)returnfullpath;returnfullpath.substring(pos+1);}/*獲取文件路徑,從第1個字符一直到最后的路徑分隔符之前*/publicStringgetPath(){intpos=fullpath.lastIndexOf(pathSeparator);if(pos==-1)returnnull;returnfullpath.substring(0,pos);}publicstaticvoidmain(Stringags[]){lab05_3fn=newlab05_3("c:\\1\\11\\test.java");System.out.println("filename="+fn.getname());System.out.println("filepath="+fn.getPath());}}四、實驗測評與考核學(xué)生實驗報告撰寫要求:1、考核實驗項目概念考核學(xué)生所須掌握實驗項目的相關(guān)概念。20℅2、考核實驗項目設(shè)計考核學(xué)生按實驗項目規(guī)定的內(nèi)容編寫可執(zhí)行源代碼的能力。40%3、考核實驗結(jié)果考核學(xué)生能否根據(jù)實驗項目完成后,設(shè)計的思路是否合理。20℅考核學(xué)生實驗項目所編寫的執(zhí)行源代碼是否是獨立完成。20%學(xué)生實驗成績評定規(guī)則及方法:1、實驗報告格式要求學(xué)生須按實驗報告格式要求逐項填寫。評分為:20分2、實驗項目的設(shè)計學(xué)生須按實驗項目規(guī)定的內(nèi)容編寫實驗室的原理;程序流程圖;可執(zhí)行的源代碼,評分為:40分3、實驗結(jié)果運行結(jié)果,以屏幕拷貝形式填入實驗報告中的實驗結(jié)果欄內(nèi)。評分為:20分4、實驗項目結(jié)果是獨立完成。評分為:20分其他說明:1、對于實驗中的設(shè)計內(nèi)容,學(xué)生最好在實驗課前做一些設(shè)計工作2、實驗報告按規(guī)范格式書寫,在下次上課時交實驗項目六文件的操作及輸入輸出一、實驗內(nèi)容、目標(biāo)及要求(一)實驗內(nèi)容1.從標(biāo)準(zhǔn)設(shè)備中輸入若干行英文句子直到輸入“bye”結(jié)束,將這些字符串寫入文件。2.在剛輸入的文件中查找單詞,打印出包含了欲查找單詞的所有文本行。3.用DatalnputStream輸入一個整型數(shù)、一個雙精度型數(shù)和一個字符串型數(shù)到文件中,然后用DataOutputStream將這些文件讀出并打印到標(biāo)準(zhǔn)輸出設(shè)備。(二)實驗?zāi)繕?biāo)熟練掌握輸入流和輸出流的使用方法。(三)實驗要求實驗前認(rèn)真預(yù)習(xí)實驗內(nèi)容,實驗時自覺遵守課堂紀(jì)律,嚴(yán)格按操作規(guī)程操作,既要獨立操作又要與其他同學(xué)配合,在實驗過程中必須按照實驗內(nèi)容認(rèn)真做完實驗,并認(rèn)真填寫相關(guān)實驗報告。二、實驗準(zhǔn)備(一)運行環(huán)境
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 信息存儲行業(yè)安全管理工作總結(jié)計劃
- 2025-2030中國防冰和除冰納米涂料行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國鐵路緊固件行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030中國鈑金設(shè)備行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國金融行業(yè)市場發(fā)展現(xiàn)狀及前景趨勢與投資戰(zhàn)略研究報告
- 2025-2030中國金屬船舶行業(yè)市場發(fā)展分析及投資前景與投資策略研究報告
- 2025-2030中國遙控電動病床行業(yè)市場深度發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國輕質(zhì)復(fù)合板行業(yè)市場深度調(diào)研及前景趨勢與投資研究報告
- 2025-2030中國軟梯行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國超聲波針行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 健康日用品設(shè)計與研發(fā)趨勢
- 【化學(xué)】常見的鹽(第1課時)-2024-2025學(xué)年九年級化學(xué)下冊(人教版2024)
- 《羅秀米粉加工技術(shù)規(guī)程》 編制說明
- 2024年江蘇省無錫市中考英語試卷
- 《湖南省房屋建筑和市政工程消防質(zhì)量控制技術(shù)標(biāo)準(zhǔn)》
- 充電樁安全巡查記錄表
- 《公路工程現(xiàn)澆泡沫聚合土應(yīng)用技術(shù)規(guī)程》
- 2025屆云南省民族大學(xué)附屬中學(xué)高三(最后沖刺)數(shù)學(xué)試卷含解析
- 品管圈PDCA獲獎案例-新生兒科運用PDCA循環(huán)縮短早產(chǎn)兒完全經(jīng)口喂養(yǎng)過渡時間成果匯報
- 河流沿岸護欄安裝工程協(xié)議
- 工程四新培訓(xùn)
評論
0/150
提交評論