計(jì)科JAVA程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)講義_第1頁
計(jì)科JAVA程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)講義_第2頁
計(jì)科JAVA程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)講義_第3頁
計(jì)科JAVA程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)講義_第4頁
計(jì)科JAVA程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)講義_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

信息學(xué)院本科實(shí)驗(yàn)教學(xué)講義(實(shí)驗(yàn))課程名稱:Java程序設(shè)計(jì)貴州財(cái)經(jīng)學(xué)院教務(wù)處制2012年9月目錄TOC實(shí)驗(yàn)項(xiàng)目一語言基礎(chǔ)4一、實(shí)驗(yàn)內(nèi)容、目標(biāo)及要求4(一)實(shí)驗(yàn)內(nèi)容4(二)實(shí)驗(yàn)?zāi)繕?biāo)4(三)實(shí)驗(yàn)要求4二、實(shí)驗(yàn)準(zhǔn)備4(一)運(yùn)行環(huán)境說明4(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明10三、實(shí)驗(yàn)基本操作流程及說明10(二)操作步驟11實(shí)驗(yàn)項(xiàng)目二Java流程控制14一、實(shí)驗(yàn)內(nèi)容、目標(biāo)及要求14(一)實(shí)驗(yàn)內(nèi)容14(二)實(shí)驗(yàn)?zāi)繕?biāo)14(三)實(shí)驗(yàn)要求14二、實(shí)驗(yàn)準(zhǔn)備14(一)運(yùn)行環(huán)境說明14(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明14三、實(shí)驗(yàn)基本操作流程及說明15(一)系統(tǒng)界面及說明15(二)操作步驟15實(shí)驗(yàn)項(xiàng)目三面向?qū)ο蟪绦蛟O(shè)計(jì)18一、實(shí)驗(yàn)內(nèi)容、目標(biāo)及要求18(一)實(shí)驗(yàn)內(nèi)容18(二)實(shí)驗(yàn)?zāi)繕?biāo)18(三)實(shí)驗(yàn)要求18二、實(shí)驗(yàn)準(zhǔn)備18(一)運(yùn)行環(huán)境說明18(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明18三、實(shí)驗(yàn)基本操作流程及說明19(一)系統(tǒng)界面及說明19(二)操作步驟19四、實(shí)驗(yàn)測(cè)評(píng)與考核21實(shí)驗(yàn)項(xiàng)目四接口、包、異常23一、實(shí)驗(yàn)內(nèi)容、目標(biāo)及要求23(一)實(shí)驗(yàn)內(nèi)容23(二)實(shí)驗(yàn)?zāi)繕?biāo)24(三)實(shí)驗(yàn)要求24二、實(shí)驗(yàn)準(zhǔn)備24(一)運(yùn)行環(huán)境說明24(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明24三、實(shí)驗(yàn)基本操作流程及說明24(一)系統(tǒng)界面及說明24(二)操作步驟24實(shí)驗(yàn)項(xiàng)目五包和字符串28一、實(shí)驗(yàn)內(nèi)容、目標(biāo)及要求28(一)實(shí)驗(yàn)內(nèi)容28(二)實(shí)驗(yàn)?zāi)繕?biāo)28(三)實(shí)驗(yàn)要求28二、實(shí)驗(yàn)準(zhǔn)備28(一)運(yùn)行環(huán)境說明28(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明28三、實(shí)驗(yàn)基本操作流程及說明29(一)系統(tǒng)界面及說明29(二)操作步驟29實(shí)驗(yàn)項(xiàng)目六文件的操作及輸入輸出32一、實(shí)驗(yàn)內(nèi)容、目標(biāo)及要求32(一)實(shí)驗(yàn)內(nèi)容32(二)實(shí)驗(yàn)?zāi)繕?biāo)32(三)實(shí)驗(yàn)要求32二、實(shí)驗(yàn)準(zhǔn)備32(一)運(yùn)行環(huán)境說明32(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明32三、實(shí)驗(yàn)基本操作流程及說明33(一)系統(tǒng)界面及說明33(二)操作步驟33實(shí)驗(yàn)項(xiàng)目一語言基礎(chǔ)一、實(shí)驗(yàn)內(nèi)容、目標(biāo)及要求(一)實(shí)驗(yàn)內(nèi)容1.編寫一個(gè)JavaApplication程序,接受用戶輸入的一個(gè)浮點(diǎn)數(shù),并分別輸出其整數(shù)與小數(shù)部分。2.編寫一個(gè)JavaApplication程序,接受用戶輸入的十個(gè)整數(shù),并分別最大與最小數(shù)。3.編程求一個(gè)整數(shù)數(shù)組的最大值、最小值、平均值與總和。(二)實(shí)驗(yàn)?zāi)繕?biāo)實(shí)驗(yàn)?zāi)康模菏煜ava程序的結(jié)構(gòu),并能完成一些基本的算法操作。(三)實(shí)驗(yàn)要求實(shí)驗(yàn)前認(rèn)真預(yù)習(xí)實(shí)驗(yàn)內(nèi)容。實(shí)驗(yàn)時(shí)自覺遵守課堂紀(jì)律,嚴(yán)格按操作規(guī)程操作,既要獨(dú)立操作又要與其他同學(xué)配合,在實(shí)驗(yàn)過程中必須按照實(shí)驗(yàn)內(nèi)容認(rèn)真做完實(shí)驗(yàn),并認(rèn)真填寫相關(guān)實(shí)驗(yàn)報(bào)告。二、實(shí)驗(yàn)準(zhǔn)備(一)運(yùn)行環(huán)境說明PC計(jì)算機(jī),Windows2000(或WindowsXP)及以上版本,并安裝JAVA編譯器(JDK)JDK安裝,請(qǐng)從本公司的服務(wù)器(\\\軟件資源\軟件開發(fā)工具\(yùn)java\jdk-6u14-windows-i586.exe)上下載JDK1.6,同樣可在Sun公司的官方網(wǎng)站上下載JDK。1.2 安裝JDK運(yùn)行JDK的exe可執(zhí)行文件,彈出如下對(duì)話框,點(diǎn)擊【接受】,如圖2-1:圖2-1默認(rèn)安裝所有JDK組件,安裝路徑為C:\ProgramFiles\Java\jdk1.6.0_14\,可選擇點(diǎn)擊【更改】自定義安裝目錄,推薦默認(rèn)安裝目錄,點(diǎn)擊【下一步】開始安裝JDK,如圖2-2:圖2-2安裝過程大概幾十秒,在最后的對(duì)話框中點(diǎn)擊【完成】結(jié)束安裝,如圖2-3:圖2-3配置環(huán)境變量:A。右鍵【我的電腦】→【屬性】,在彈出的對(duì)話框中選擇【高級(jí)】選項(xiàng)卡,點(diǎn)擊【環(huán)境變量】,如圖3-1所示:圖3-1彈出環(huán)境變量配置窗口,其中“用戶變量”的設(shè)置是針對(duì)當(dāng)前操作用戶的,而“系統(tǒng)變量”是針對(duì)當(dāng)前系統(tǒng)設(shè)置的,也就是所有用戶共享系統(tǒng)環(huán)境變量。如圖3-2所示:圖3-2JAVA_HOME環(huán)境變量配置:?jiǎn)螕簟鞠到y(tǒng)變量】選項(xiàng)組的【新建】按鈕。在彈出的“新建系統(tǒng)變量”對(duì)話框中為“變量名”指定值:JAVA_HOME;如圖3-3所示:圖3-3打開JDK的安裝目錄,復(fù)制顯示在地址欄的JDK的根路徑,為“變量值”指定值為JDK的安裝根路徑,如圖3-4所示,單擊【確定】,完成JAVA_HOME變量的創(chuàng)建。圖3-4注意:1.盡量在【系統(tǒng)變量】下新建變量,因?yàn)樵凇鞠到y(tǒng)變量】下設(shè)置的環(huán)境變量在更換用戶后可以不用再重新設(shè)置環(huán)境變量。2.變量名為JAVA_HOME,而不是JAVA-HOME。3.變量值為JDK的實(shí)際安裝目錄,本文檔設(shè)置的變量值是默認(rèn)的JDK安裝目錄,讀者可以按照自己的JDK安裝目錄設(shè)置變量值。C。Path環(huán)境變量配置:向下拖動(dòng)【系統(tǒng)變量】選項(xiàng)組的滾動(dòng)條(如圖3-5),找到PATH變量,雙擊該變量,彈出【編輯系統(tǒng)變量】的對(duì)話框(如圖3-6):圖3-5單擊變量值的文本框,在鍵盤上按下【End】鍵(或者拖動(dòng)鼠標(biāo)到文本框最后),若原有的變量值后面沒有“;”號(hào),在原有的變量值后添加“;”號(hào)后繼續(xù)添加%JAVA_HOME%\bin;單擊【確定】完成PATH變量的配置。圖3-6注意:1.不要?jiǎng)h除原有的系統(tǒng)環(huán)境變量的變量值,因?yàn)檫@樣會(huì)使系統(tǒng)喪失其他path功能。2.“;”號(hào)和“%”為英文標(biāo)點(diǎn),不是中文標(biāo)點(diǎn),%JAVA_HOME%\bin中的斜杠是反斜杠,不是“/”。%%//3.“%JAVA_HOME%”是引用前面設(shè)置的JAVA_HOME環(huán)境變量。“;”用于分隔兩個(gè)變量值。4.有些電腦上PATH變量名是“Path”、“path”,其實(shí)都是一樣的。Classpath環(huán)境變量配置:若在系統(tǒng)變量中沒有CLASSPATH變量,可重復(fù)新建JAVA_HOME變量的步驟創(chuàng)建CLASSPATH變量,變量名指定為:CLASSPATH;變量值指定為:.;%JAVA_HOME%\lib;如圖3-7。設(shè)置好后,單擊【確定】完成CLASSPATH的配置。圖3-7注意:1.變量值前面的“.;”兩個(gè)英文符號(hào)不能少。指代當(dāng)前目錄。測(cè)試環(huán)境變量是否配置正確:?jiǎn)螕簟鹃_始】→【運(yùn)行】,在彈出的對(duì)話框中輸入cmd,并單擊【確定】或者按回車鍵啟動(dòng)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)選項(xiàng),如圖3-10所示。至此,JDK環(huán)境已經(jīng)搭建成功。圖3-10注意:1.不能使用java命令測(cè)試環(huán)境變量是否配置成功,因?yàn)閖ava命令是內(nèi)置命令,就算不配置環(huán)境變量,該命令也可以成功運(yùn)行。(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明計(jì)算機(jī),Windows2000(或WindowsXP)及以上版本,JAVA編譯器均能正常運(yùn)行。三、實(shí)驗(yàn)基本操作流程及說明.(一)系統(tǒng)界面及說明為了詳細(xì)說明開發(fā)環(huán)境的使用以及如何在該環(huán)境下調(diào)試JAVA語言程序,下面通過一個(gè)非常簡(jiǎn)單的示例程序來介紹。現(xiàn)有一段具有基本JAVA程序結(jié)構(gòu)和說明的程序如下,該程序的功能是在屏幕上輸出顯示:“我開始學(xué)習(xí)使用Java語言?!笔紫仍谟浭卤局袑懭胂铝写a:publicclassLab01_2{ /** *main方法,程序的起點(diǎn) */ publicstaticvoidmain(String[]args){ //向控制臺(tái)輸出 System.out.println("我開始學(xué)習(xí)使用Java語言。");}}(二)操作步驟在DOS環(huán)境下調(diào)試與運(yùn)行程序:(1)輸入javacLab01_2.java,你將在根目錄下看到已編譯好的Lab01_2.class文件,此時(shí),輸入javaLab01_2,你將自到下列輸出結(jié)果。按照參考程序1的輸入與調(diào)試方法,輸入、檢查、調(diào)試和運(yùn)行自己編寫的程序,實(shí)驗(yàn)一項(xiàng)目程序名為:A1_學(xué)號(hào).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("請(qǐng)輸入一個(gè)浮點(diǎn)數(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);//輸入方法,每輸入一個(gè)數(shù)按回車確定 inta[]=newint[10];//一個(gè)長(zhǎng)度為10的數(shù)組 intmax=a[0],min=a[0]; for(inti=0;i<a.length;i++){ a[i]=input.nextInt();//將輸入的10個(gè)數(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ù)組長(zhǎng)度,修改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){ } }}四、實(shí)驗(yàn)測(cè)評(píng)與考核學(xué)生實(shí)驗(yàn)報(bào)告撰寫要求:1、考核實(shí)驗(yàn)項(xiàng)目概念考核學(xué)生所須掌握實(shí)驗(yàn)項(xiàng)目的相關(guān)概念。20℅2、考核實(shí)驗(yàn)項(xiàng)目設(shè)計(jì)考核學(xué)生按實(shí)驗(yàn)項(xiàng)目規(guī)定的內(nèi)容編寫可執(zhí)行源代碼的能力。40%3、考核實(shí)驗(yàn)結(jié)果考核學(xué)生能否根據(jù)實(shí)驗(yàn)項(xiàng)目完成后,設(shè)計(jì)的思路是否合理。20℅考核學(xué)生實(shí)驗(yàn)項(xiàng)目所編寫的執(zhí)行源代碼是否是獨(dú)立完成。20%學(xué)生實(shí)驗(yàn)成績(jī)?cè)u(píng)定規(guī)則及方法:1、實(shí)驗(yàn)報(bào)告格式要求學(xué)生須按實(shí)驗(yàn)報(bào)告格式要求逐項(xiàng)填寫。評(píng)分為:20分2、實(shí)驗(yàn)項(xiàng)目的設(shè)計(jì)學(xué)生須按實(shí)驗(yàn)項(xiàng)目規(guī)定的內(nèi)容編寫實(shí)驗(yàn)室的原理;程序流程圖;可執(zhí)行的源代碼,評(píng)分為:40分3、實(shí)驗(yàn)結(jié)果運(yùn)行結(jié)果,以屏幕拷貝形式填入實(shí)驗(yàn)報(bào)告中的實(shí)驗(yàn)結(jié)果欄內(nèi)。評(píng)分為:20分4、實(shí)驗(yàn)項(xiàng)目結(jié)果是獨(dú)立完成。評(píng)分為:20分其他說明:1、對(duì)于實(shí)驗(yàn)中的設(shè)計(jì)內(nèi)容,學(xué)生最好在實(shí)驗(yàn)課前做一些設(shè)計(jì)工作2、實(shí)驗(yàn)報(bào)告按規(guī)范格式書寫,在下次上課時(shí)交。實(shí)驗(yàn)項(xiàng)目二Java流程控制一、實(shí)驗(yàn)內(nèi)容、目標(biāo)及要求(一)實(shí)驗(yàn)內(nèi)容1.編寫一個(gè)Java程序,接受用戶輸入的字符,以“#”表示輸入的結(jié)束,比較并輸出按照字典順序最小的字符。2.編寫一個(gè)Java程序,接受用戶輸入的一個(gè)1~12之間的整數(shù),利用switch語句輸出對(duì)應(yīng)月份的天數(shù)。(二)實(shí)驗(yàn)?zāi)繕?biāo)掌握J(rèn)ava程序的switch…casc語句與循環(huán)語句以及數(shù)組的用法。(三)實(shí)驗(yàn)要求實(shí)驗(yàn)前認(rèn)真預(yù)習(xí)實(shí)驗(yàn)內(nèi)容,實(shí)驗(yàn)時(shí)自覺遵守課堂紀(jì)律,嚴(yán)格按操作規(guī)程操作,既要獨(dú)立操作又要與其他同學(xué)配合,在實(shí)驗(yàn)過程中必須按照實(shí)驗(yàn)內(nèi)容認(rèn)真做完實(shí)驗(yàn),并認(rèn)真填寫相關(guān)實(shí)驗(yàn)報(bào)告。二、實(shí)驗(yàn)準(zhǔn)備(一)運(yùn)行環(huán)境說明見實(shí)驗(yàn)項(xiàng)目一的運(yùn)行環(huán)境說明。(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明見實(shí)驗(yàn)項(xiàng)目一的基礎(chǔ)數(shù)據(jù)設(shè)置及說明。三、實(shí)驗(yàn)基本操作流程及說明(一)系統(tǒng)界面及說明見實(shí)驗(yàn)項(xiàng)目一的系統(tǒng)界面及說明。(二)操作步驟按照參考程序1的輸入與調(diào)試方法,輸入、檢查、調(diào)試和運(yùn)行自己編寫的程序,實(shí)驗(yàn)二項(xiàng)目程序名為:A2_學(xué)號(hào).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(); }}實(shí)驗(yàn)測(cè)評(píng)與考核學(xué)生實(shí)驗(yàn)報(bào)告撰寫要求:1、考核實(shí)驗(yàn)項(xiàng)目概念考核學(xué)生所須掌握實(shí)驗(yàn)項(xiàng)目的相關(guān)概念。20℅2、考核實(shí)驗(yàn)項(xiàng)目設(shè)計(jì)考核學(xué)生按實(shí)驗(yàn)項(xiàng)目規(guī)定的內(nèi)容編寫可執(zhí)行源代碼的能力。40%3、考核實(shí)驗(yàn)結(jié)果考核學(xué)生能否根據(jù)實(shí)驗(yàn)項(xiàng)目完成后,設(shè)計(jì)的思路是否合理。20℅考核學(xué)生實(shí)驗(yàn)項(xiàng)目所編寫的執(zhí)行源代碼是否是獨(dú)立完成。20%學(xué)生實(shí)驗(yàn)成績(jī)?cè)u(píng)定規(guī)則及方法:1、實(shí)驗(yàn)報(bào)告格式要求學(xué)生須按實(shí)驗(yàn)報(bào)告格式要求逐項(xiàng)填寫。評(píng)分為:20分2、實(shí)驗(yàn)項(xiàng)目的設(shè)計(jì)學(xué)生須按實(shí)驗(yàn)項(xiàng)目規(guī)定的內(nèi)容編寫實(shí)驗(yàn)室的原理;程序流程圖;可執(zhí)行的源代碼,評(píng)分為:40分3、實(shí)驗(yàn)結(jié)果運(yùn)行結(jié)果,以屏幕拷貝形式填入實(shí)驗(yàn)報(bào)告中的實(shí)驗(yàn)結(jié)果欄內(nèi)。評(píng)分為:20分4、實(shí)驗(yàn)項(xiàng)目結(jié)果是獨(dú)立完成。評(píng)分為:20分其他說明:1、對(duì)于實(shí)驗(yàn)中的設(shè)計(jì)內(nèi)容,學(xué)生最好在實(shí)驗(yàn)課前做一些設(shè)計(jì)工作2、實(shí)驗(yàn)報(bào)告按規(guī)范格式書寫,在下次上課時(shí)交實(shí)驗(yàn)項(xiàng)目三面向?qū)ο蟪绦蛟O(shè)計(jì)一、實(shí)驗(yàn)內(nèi)容、目標(biāo)及要求(一)實(shí)驗(yàn)內(nèi)容1.設(shè)計(jì)一個(gè)長(zhǎng)方形類,成員變量包括長(zhǎng)和寬。類中有計(jì)算面積和周長(zhǎng)的方法,要求有重載的構(gòu)造方法,并有相應(yīng)的set和get方法設(shè)置、獲得長(zhǎng)方形的長(zhǎng)和寬。編寫測(cè)試類測(cè)試其是否能達(dá)到預(yù)定的功能,要求使用自定義的包。(建議完成時(shí)間:30分鐘)2.設(shè)計(jì)雇員Employee類,記錄雇員的信息,包括姓名、年薪、受雇用時(shí)間,要求定義MyDate類作為受雇用的時(shí)間,其中包括年、月、日。要求有重載的構(gòu)造方法,并用相應(yīng)的方法對(duì)Employee類進(jìn)行設(shè)置。編寫測(cè)試類測(cè)試Employee類,要求使用自定義的包。(建議完成時(shí)間:35分鐘)(二)實(shí)驗(yàn)?zāi)繕?biāo)熟練掌握類的創(chuàng)建與使用,理解封裝與抽象的概念,理解信息隱藏及4種訪問控制修飾符的用法,熟練掌握構(gòu)造方法的用法。(三)實(shí)驗(yàn)要求實(shí)驗(yàn)前認(rèn)真預(yù)習(xí)實(shí)驗(yàn)內(nèi)容,實(shí)驗(yàn)時(shí)自覺遵守課堂紀(jì)律,嚴(yán)格按操作規(guī)程操作,既要獨(dú)立操作又要與其他同學(xué)配合,在實(shí)驗(yàn)過程中必須按照實(shí)驗(yàn)內(nèi)容認(rèn)真做完實(shí)驗(yàn),并認(rèn)真填寫相關(guān)實(shí)驗(yàn)報(bào)告。二、實(shí)驗(yàn)準(zhǔn)備(一)運(yùn)行環(huán)境說明見實(shí)驗(yàn)項(xiàng)目一的運(yùn)行環(huán)境說明。(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明見實(shí)驗(yàn)項(xiàng)目一的基礎(chǔ)數(shù)據(jù)設(shè)置及說明。三、實(shí)驗(yàn)基本操作流程及說明(一)系統(tǒng)界面及說明見實(shí)驗(yàn)項(xiàng)目一的系統(tǒng)界面及說明。(二)操作步驟按照參考程序1的輸入與調(diào)試方法,輸入、檢查、調(diào)試和運(yùn)行自己編寫的程序,實(shí)驗(yàn)三項(xiàng)目程序名為:A3_學(xué)號(hào).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的周長(zhǎng)為:"+r1.calGirth()+"厘米!"); System.out.println("r2的面積為:"+r2.calArea()+"平方厘米!"); System.out.println("r2的周長(zhǎng)為:"+r2.calGirth()+"厘米!"); r1.setHeight(20.0); r1.setWidth(50.0); System.out.println("r1的面積為:"+r1.calArea()+"平方厘米!"); System.out.println("r1的周長(zhǎng)為:"+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());}}四、實(shí)驗(yàn)測(cè)評(píng)與考核學(xué)生實(shí)驗(yàn)報(bào)告撰寫要求:1、考核實(shí)驗(yàn)項(xiàng)目概念考核學(xué)生所須掌握實(shí)驗(yàn)項(xiàng)目的相關(guān)概念。20℅2、考核實(shí)驗(yàn)項(xiàng)目設(shè)計(jì)考核學(xué)生按實(shí)驗(yàn)項(xiàng)目規(guī)定的內(nèi)容編寫可執(zhí)行源代碼的能力。40%3、考核實(shí)驗(yàn)結(jié)果考核學(xué)生能否根據(jù)實(shí)驗(yàn)項(xiàng)目完成后,設(shè)計(jì)的思路是否合理。20℅考核學(xué)生實(shí)驗(yàn)項(xiàng)目所編寫的執(zhí)行源代碼是否是獨(dú)立完成。20%學(xué)生實(shí)驗(yàn)成績(jī)?cè)u(píng)定規(guī)則及方法:1、實(shí)驗(yàn)報(bào)告格式要求學(xué)生須按實(shí)驗(yàn)報(bào)告格式要求逐項(xiàng)填寫。評(píng)分為:20分2、實(shí)驗(yàn)項(xiàng)目的設(shè)計(jì)學(xué)生須按實(shí)驗(yàn)項(xiàng)目規(guī)定的內(nèi)容編寫實(shí)驗(yàn)室的原理;程序流程圖;可執(zhí)行的源代碼,評(píng)分為:40分3、實(shí)驗(yàn)結(jié)果運(yùn)行結(jié)果,以屏幕拷貝形式填入實(shí)驗(yàn)報(bào)告中的實(shí)驗(yàn)結(jié)果欄內(nèi)。評(píng)分為:20分4、實(shí)驗(yàn)項(xiàng)目結(jié)果是獨(dú)立完成。評(píng)分為:20分其他說明:1、對(duì)于實(shí)驗(yàn)中的設(shè)計(jì)內(nèi)容,學(xué)生最好在實(shí)驗(yàn)課前做一些設(shè)計(jì)工作2、實(shí)驗(yàn)報(bào)告按規(guī)范格式書寫,在下次上課時(shí)交實(shí)驗(yàn)項(xiàng)目四接口、包、異常一、實(shí)驗(yàn)內(nèi)容、目標(biāo)及要求(一)實(shí)驗(yàn)內(nèi)容1.在以下給出Java代碼基礎(chǔ)上,添加異常處理機(jī)制的代碼,使得代碼在出現(xiàn)異常時(shí)能正常結(jié)束程序的運(yùn)行。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)+”門課程的成績(jī)是:”+a[i]);Sum=sum+a[i];}System.out.println(“總成績(jī)是:”+sum);floatavg=sum/a.1ength;System.out.println(”平均成績(jī)是:”+avg);}}(提示:使用多重catch塊)2.它成下列問題:a.創(chuàng)建接口Eatable。里面定義抽象方法howToEat0。b.創(chuàng)建2組類,每種可吃對(duì)象類必須能夠?qū)崿F(xiàn)接口Eatable。第一組:Animal類及其了類Pig、Chicken和Tiger,其中Chicken類必須實(shí)現(xiàn)Eatable接口。第:組:Fruit類及其于類Apple和Orange,因?yàn)樗伎梢猿裕訤ruit實(shí)現(xiàn)Eatable接VI,給出howToEat方法的通用實(shí)現(xiàn)。在Apple和Orange類里給出該方法的專有實(shí)現(xiàn)。c.在每個(gè)類中重定義toString()方法,返回類名。d.創(chuàng)建測(cè)試程序,包含main()方法和showObject()方法,在main()方法聲明和創(chuàng)建Object類型的4個(gè)實(shí)例,分別是老虎、雞、蘋果和橘子,然后調(diào)用showObject0方法,該方法如下:publicstaticvoidshowObject(Objectobject){System.out.primln(object);if(objectinstanceofEatable){((Eatable)object).howToEat();}}(二)實(shí)驗(yàn)?zāi)繕?biāo)熟練掌握接口的應(yīng)用。掌握J(rèn)ava異常的處理機(jī)制包括多重catch塊的使用。(三)實(shí)驗(yàn)要求實(shí)驗(yàn)前認(rèn)真預(yù)習(xí)實(shí)驗(yàn)內(nèi)容,實(shí)驗(yàn)時(shí)自覺遵守課堂紀(jì)律,嚴(yán)格按操作規(guī)程操作,既要獨(dú)立操作又要與其他同學(xué)配合,在實(shí)驗(yàn)過程中必須按照實(shí)驗(yàn)內(nèi)容認(rèn)真做完實(shí)驗(yàn),并認(rèn)真填寫相關(guān)實(shí)驗(yàn)報(bào)告。二、實(shí)驗(yàn)準(zhǔn)備(一)運(yùn)行環(huán)境說明見實(shí)驗(yàn)項(xiàng)目一的運(yùn)行環(huán)境說明。(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明見實(shí)驗(yàn)項(xiàng)目一的基礎(chǔ)數(shù)據(jù)設(shè)置及說明。三、實(shí)驗(yàn)基本操作流程及說明(一)系統(tǒng)界面及說明見實(shí)驗(yàn)項(xiàng)目一的系統(tǒng)界面及說明。(二)操作步驟按照參考程序1的輸入與調(diào)試方法,輸入、檢查、調(diào)試和運(yùn)行自己編寫的程序,實(shí)驗(yàn)三項(xiàng)目程序名為:A4_學(xué)號(hào).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)+"門課程的成績(jī)是:"+a[i]); sum=sum+a[i]; } System.out.println("總成績(jī)是:"+sum); floatavg=sum/a.length; System.out.println("平均成績(jī)是:"+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("保護(hù)動(dòng)物,不能吃"); } publicStringtoString(){ return"Tiger";}}publicclassFruitimplementsEatable{publicvoidhowToEat(){ System.out.println("吃水果要?jiǎng)兤ぃ?);} 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());}}四、實(shí)驗(yàn)測(cè)評(píng)與考核學(xué)生實(shí)驗(yàn)報(bào)告撰寫要求:1、考核實(shí)驗(yàn)項(xiàng)目概念考核學(xué)生所須掌握實(shí)驗(yàn)項(xiàng)目的相關(guān)概念。20℅2、考核實(shí)驗(yàn)項(xiàng)目設(shè)計(jì)考核學(xué)生按實(shí)驗(yàn)項(xiàng)目規(guī)定的內(nèi)容編寫可執(zhí)行源代碼的能力。40%3、考核實(shí)驗(yàn)結(jié)果考核學(xué)生能否根據(jù)實(shí)驗(yàn)項(xiàng)目完成后,設(shè)計(jì)的思路是否合理。20℅考核學(xué)生實(shí)驗(yàn)項(xiàng)目所編寫的執(zhí)行源代碼是否是獨(dú)立完成。20%學(xué)生實(shí)驗(yàn)成績(jī)?cè)u(píng)定規(guī)則及方法:1、實(shí)驗(yàn)報(bào)告格式要求學(xué)生須按實(shí)驗(yàn)報(bào)告格式要求逐項(xiàng)填寫。評(píng)分為:20分2、實(shí)驗(yàn)項(xiàng)目的設(shè)計(jì)學(xué)生須按實(shí)驗(yàn)項(xiàng)目規(guī)定的內(nèi)容編寫實(shí)驗(yàn)室的原理;程序流程圖;可執(zhí)行的源代碼,評(píng)分為:40分3、實(shí)驗(yàn)結(jié)果運(yùn)行結(jié)果,以屏幕拷貝形式填入實(shí)驗(yàn)報(bào)告中的實(shí)驗(yàn)結(jié)果欄內(nèi)。評(píng)分為:20分4、實(shí)驗(yàn)項(xiàng)目結(jié)果是獨(dú)立完成。評(píng)分為:20分其他說明:1、對(duì)于實(shí)驗(yàn)中的設(shè)計(jì)內(nèi)容,學(xué)生最好在實(shí)驗(yàn)課前做一些設(shè)計(jì)工作2、實(shí)驗(yàn)報(bào)告按規(guī)范格式書寫,在下次上課時(shí)交實(shí)驗(yàn)項(xiàng)目五包和字符串一、實(shí)驗(yàn)內(nèi)容、目標(biāo)及要求(一)實(shí)驗(yàn)內(nèi)容1.自己設(shè)計(jì)類MyClass,重寫clone()、equals()、toStringO方法,并驗(yàn)證。2.編寫程序,求從鍵盤上輸任意字符串(字符串為:100*2+160/(78+2))中有多少個(gè)整常數(shù)。3.編寫程序,從鍵盤上輸任意表示文件路徑的字符串,將某表示文件路徑的字符串(假如是c:\1\1l\test.java)的文件路徑和文件名分離。(二)實(shí)驗(yàn)?zāi)繕?biāo)理解Object類的clone()、equals()、toString()方法,并能熟練應(yīng)用,熟悉String類的常用方法,并能熟練應(yīng)用。(三)實(shí)驗(yàn)要求實(shí)驗(yàn)前認(rèn)真預(yù)習(xí)實(shí)驗(yàn)內(nèi)容,實(shí)驗(yàn)時(shí)自覺遵守課堂紀(jì)律,嚴(yán)格按操作規(guī)程操作,既要獨(dú)立操作又要與其他同學(xué)配合,在實(shí)驗(yàn)過程中必須按照實(shí)驗(yàn)內(nèi)容認(rèn)真做完實(shí)驗(yàn),并認(rèn)真填寫相關(guān)實(shí)驗(yàn)報(bào)告。二、實(shí)驗(yàn)準(zhǔn)備(一)運(yùn)行環(huán)境說明見實(shí)驗(yàn)項(xiàng)目一的運(yùn)行環(huán)境說明。(二)基礎(chǔ)數(shù)據(jù)設(shè)置及說明見實(shí)驗(yàn)項(xiàng)目一的基礎(chǔ)數(shù)據(jù)設(shè)置及說明。三、實(shí)驗(yàn)基本操作流程及說明(一)系統(tǒng)界面及說明見實(shí)驗(yàn)項(xiàng)目一的系統(tǒng)界面及說明。(二)操作步驟按照參考程序1的輸入與調(diào)試方法,輸入、檢查、調(diào)試和運(yùn)行自己編寫的程序,實(shí)驗(yàn)三項(xiàng)目程序名為:A5_學(xué)號(hào).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)中有多少個(gè)整常數(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;}/*獲取文件名,文件名是最后一個(gè)分隔符后面的子串*/publicStringgetname(){intpos=fullpath.lastIndexOf(pathSeparator);if(pos==-1)returnfullpath;returnfullpath.substring(pos+1);}/*獲取文件路徑,從第1個(gè)字符一直到最后的路徑分隔符之前*/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());}}四、實(shí)驗(yàn)測(cè)評(píng)與考核學(xué)生實(shí)驗(yàn)報(bào)告撰寫要求:1、考核實(shí)驗(yàn)項(xiàng)目概念考核學(xué)生所須掌握實(shí)驗(yàn)項(xiàng)目的相關(guān)概念。20℅2、考核實(shí)驗(yàn)項(xiàng)目設(shè)計(jì)考核學(xué)生按實(shí)驗(yàn)項(xiàng)目規(guī)定的內(nèi)容編寫可執(zhí)行源代碼的能力。40%3、考核實(shí)驗(yàn)結(jié)果考核學(xué)生能否根據(jù)實(shí)驗(yàn)項(xiàng)目完成后,設(shè)計(jì)的思路是否合理。20℅考核學(xué)生實(shí)驗(yàn)項(xiàng)目所編寫的執(zhí)行源代碼是否是獨(dú)立完成。20%學(xué)生實(shí)驗(yàn)成績(jī)?cè)u(píng)定規(guī)則及方法:1、實(shí)驗(yàn)報(bào)告格式要求學(xué)生須按實(shí)驗(yàn)報(bào)告格式要求逐項(xiàng)填寫。評(píng)分為:20分2、實(shí)驗(yàn)項(xiàng)目的設(shè)計(jì)學(xué)生須按實(shí)驗(yàn)項(xiàng)目規(guī)定的內(nèi)容編寫實(shí)驗(yàn)室的原理;程序流程圖;可執(zhí)行的源代碼,評(píng)分為:40分3、實(shí)驗(yàn)結(jié)果運(yùn)行結(jié)果,以屏幕拷貝形式填入實(shí)驗(yàn)報(bào)告中的實(shí)驗(yàn)結(jié)果欄內(nèi)。評(píng)分為:20分4、實(shí)驗(yàn)項(xiàng)目結(jié)果是獨(dú)立完成。評(píng)分為:20分其他說明:1、對(duì)于實(shí)驗(yàn)中的設(shè)計(jì)內(nèi)容,學(xué)生最好在實(shí)驗(yàn)課前做一些設(shè)計(jì)工作2、實(shí)驗(yàn)報(bào)告按規(guī)范格式書寫,在下次上課時(shí)交實(shí)驗(yàn)項(xiàng)目六文件的操作及輸入輸出一、實(shí)驗(yàn)內(nèi)容、目標(biāo)及要求(一)實(shí)驗(yàn)內(nèi)容1.從標(biāo)準(zhǔn)設(shè)備中輸入若干行英文句子直到輸入“bye”結(jié)束,將這些字符串寫入文件。2.在剛輸入的文件中查找單詞,打印出包含了欲查找單詞的所有文本行。3.用DatalnputStream輸入一個(gè)整型數(shù)、一個(gè)雙精度型數(shù)和一個(gè)字符串型數(shù)到文件中,然后用DataOutputStream將這些文件讀出并打印到標(biāo)準(zhǔn)輸出設(shè)備。(二)實(shí)驗(yàn)?zāi)繕?biāo)熟練掌握輸入流和輸出流的使用方法。(三)實(shí)驗(yàn)要求實(shí)驗(yàn)前認(rèn)真預(yù)習(xí)實(shí)驗(yàn)內(nèi)容,實(shí)驗(yàn)時(shí)自覺遵守課堂紀(jì)律,嚴(yán)格按操作規(guī)程操作,既要獨(dú)立操作又要與其他同學(xué)配合,在實(shí)驗(yàn)過程中必須按照實(shí)驗(yàn)內(nèi)容認(rèn)真做完實(shí)驗(yàn),并認(rèn)真填寫相關(guān)實(shí)驗(yàn)報(bào)告。二、實(shí)驗(yàn)準(zhǔn)備(一)運(yùn)行環(huán)境

溫馨提示

  • 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)論