版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、電子系資料Java語(yǔ)言程序設(shè)計(jì)實(shí) 驗(yàn) 指 導(dǎo)目 錄實(shí)驗(yàn)1 Java開(kāi)發(fā)環(huán)境的熟悉2實(shí)驗(yàn)2 Java程序設(shè)計(jì)語(yǔ)言基礎(chǔ)5實(shí)驗(yàn)3 字符串(String類(lèi))的使用7實(shí)驗(yàn)4 類(lèi)與對(duì)象10實(shí)驗(yàn)5 繼承與多態(tài)12實(shí)驗(yàn)6 常用工具類(lèi)14實(shí)驗(yàn)7 GUI編程及事件處理17實(shí)驗(yàn)8 Java中的多線程18實(shí)驗(yàn)9 輸入輸出流22實(shí)驗(yàn)1 Java開(kāi)發(fā)環(huán)境的熟悉一、實(shí)驗(yàn)?zāi)康?、掌握下載JDK 軟件包、Eclipse軟件的方法;2、掌握設(shè)置Java 程序運(yùn)行環(huán)境的方法;3、掌握編寫(xiě)與運(yùn)行Java 程序的方法;4、了解Java 語(yǔ)言的概貌;5、為學(xué)習(xí)Java 語(yǔ)言和進(jìn)行Java 程序的實(shí)驗(yàn)做好準(zhǔn)備工作。二、實(shí)驗(yàn)內(nèi)容1、JDK
2、的下載與安裝下載能安裝在相應(yīng)的操作系統(tǒng)類(lèi)型中的J2SE系統(tǒng)安裝程序。為了建立基于SDK 的Java 運(yùn)行環(huán)境,需要先下載Sun 的免費(fèi)SDK 軟件包。SDK 包含了一整套開(kāi)發(fā)工具,其中包含對(duì)編程最有用的是Java 編譯器、Applet 查看器和Java 解釋器。在瀏覽器中輸入 公司網(wǎng)站頁(yè)面,然后在里面找到下載的鏈接進(jìn)行下載就行。目前的版本最高是Jdk1.7,但是在使用上更多的還是使用Jdk1.7版本。下載完后進(jìn)行安裝,和一般的軟件安裝過(guò)程差不多,自己選擇目錄進(jìn)行jdk的安裝。在本實(shí)驗(yàn)中假設(shè)jdk的安裝路徑是“C:jdk1.7.0_05“。2、Java運(yùn)行環(huán)境配置jdk 中的工具都是命令行工具,
3、需要從命令行即MSDOS 提示符下運(yùn)行它們。很多人可能會(huì)不習(xí)慣,但這是Sun 特意采取的策略,為的是把精力更多地投入到Java 語(yǔ)言本身而不是花在開(kāi)發(fā)工具上。為了能正確方便的使用JDK,可手工配置一些Windows 的環(huán)境變量. (1)設(shè)置Windows 98在C:autoexec.bat 文件中,添加以下內(nèi)容:set path=%path%; C:jdk1.7.0_05binset classpath=.; C:jdk1.7.0_05lib;%classpath%C:jdk1.7.0_05bin 為程序安裝路徑,如果安裝時(shí)做了修改,這里必須做出相應(yīng)的修改?!皊et path”語(yǔ)句設(shè)置Java
4、 編譯運(yùn)行程序的路徑,“set classpath”語(yǔ)句設(shè)置Java 包的路徑,其中的“.”表示在當(dāng)前目錄下均可執(zhí)行Java 程序。autoexec.bat 文件修改后存盤(pán),然后重新啟動(dòng)計(jì)算機(jī),即完成了設(shè)置。(2)設(shè)置Windows XP/NT/2000以Windows XP 為例說(shuō)明設(shè)置過(guò)程。在桌面“我的電腦”圖標(biāo)上單擊右鍵,選擇“屬性”菜單,單擊高級(jí)選項(xiàng)卡。在“高級(jí)”選項(xiàng)卡中單擊“環(huán)境變量”按鈕。將出現(xiàn)“環(huán)境變量”設(shè)置界面,在“系統(tǒng)變量”框中選擇“Path”,然后單擊“編輯”按鈕,在出現(xiàn)的“編輯系統(tǒng)變量”對(duì)話框中,在“變量值”欄的命令前添加“C:jdk1.7.0_05bin;”,用同樣方法
5、設(shè)置環(huán)境變量“classpath”,其值為“C:jdk1.7.0_05lib;”。設(shè)置完成后,單擊“開(kāi)始”“所有程序”“附件”“命令提示符”打開(kāi)DOS 窗口,在命令提示符下輸入“java”或“javac”,回車(chē)后,如果出現(xiàn)其用法參數(shù)提示信息,則安裝正確。三、實(shí)驗(yàn)要求1、了解java集成開(kāi)發(fā)環(huán)境jdk的結(jié)構(gòu);2、掌握jdk的環(huán)境變量的配置,理解一個(gè)java程序的運(yùn)行過(guò)程;3、能基本上清楚java程序的組成,簡(jiǎn)單的查找一些程序錯(cuò)誤;4、能分辨出應(yīng)用程序何小應(yīng)用程序的不同,及他們?cè)谶\(yùn)行上的差別; 四、實(shí)驗(yàn)環(huán)境1、PC微機(jī);2、DOS操作系統(tǒng)或 Windows 操作系統(tǒng);3、jdk程序集成環(huán)
6、境Eclipse 五、實(shí)驗(yàn)步驟1、先安裝好jdk;2、配置環(huán)境變量;3、書(shū)寫(xiě)java程序;4、運(yùn)行程序,查看結(jié)果。 六、源代碼及測(cè)試數(shù)據(jù)自己輸入一個(gè)程序作為測(cè)試的數(shù)據(jù)。七、實(shí)驗(yàn)報(bào)告要求(學(xué)生完成)實(shí)驗(yàn)報(bào)告應(yīng)包括以下幾個(gè)部分:1、jdk的簡(jiǎn)單介紹;2、環(huán)境變量的設(shè)置;3、應(yīng)用程序和小應(yīng)用程序的運(yùn)行過(guò)程;4、程序的測(cè)試結(jié)果和問(wèn)題;5、實(shí)驗(yàn)總結(jié)。八、思考題(學(xué)生完成)1、如何將應(yīng)用程序和小應(yīng)用程序放到一個(gè)java程序中去,及該java程序即可以作為應(yīng)用程序運(yùn)行,也可以作為小應(yīng)用程序運(yùn)行?2、熟悉一個(gè)用于java程序開(kāi)發(fā)的工具,建議大家使用Eclipse。如何使用Eclipse來(lái)執(zhí)行java
7、程序?3、JDK和JRE的區(qū)別?實(shí)驗(yàn)2 Java程序設(shè)計(jì)語(yǔ)言基礎(chǔ)一、實(shí)驗(yàn)?zāi)康?、了解Java 的數(shù)據(jù)類(lèi)型;2、掌握各種變量的聲明方式;3、理解運(yùn)算符的優(yōu)先級(jí);4、掌握J(rèn)ava 基本數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式、數(shù)組的使用方法;5、理解Java 程序語(yǔ)法結(jié)構(gòu),掌握順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)語(yǔ)法的程序設(shè)計(jì)方法;6、通過(guò)以上內(nèi)容,掌握J(rèn)ava 語(yǔ)言的編程規(guī)則。二、實(shí)驗(yàn)內(nèi)容讀入一個(gè)浮點(diǎn)數(shù)值,將其轉(zhuǎn)換為中文金額的大寫(xiě)方式,如123.45,轉(zhuǎn)換為:壹佰貳拾叁元肆角伍分。要求:(1)當(dāng)金額為整數(shù)時(shí),只表示整數(shù)部分,省略小數(shù)部分,并添加“整”字。例如,123表示為:壹佰貳拾叁元整;(2)當(dāng)金額中含有連續(xù)的0時(shí),
8、只需寫(xiě)一個(gè)“零”即可,例如, 10005表示為:壹萬(wàn)零伍元整;(3)10的表示方式,例如,110元表示為:壹佰壹拾元整,而10則表示為:拾元整。提示:將字符串型轉(zhuǎn)換為浮點(diǎn)型可以用Float.parseFloat(s)函數(shù)轉(zhuǎn)換。三、實(shí)驗(yàn)要求1、能正確的進(jìn)行數(shù)據(jù)轉(zhuǎn)換;2、能在輸入數(shù)據(jù)錯(cuò)誤的情況下給出提示。四、實(shí)驗(yàn)環(huán)境1、PC微機(jī);2、DOS操作系統(tǒng)或 Windows 操作系統(tǒng);3、Eclipse程序集成環(huán)境。 五、實(shí)驗(yàn)步驟1、根據(jù)題目要求,畫(huà)出程序流程圖;2、給出本程序的java數(shù)據(jù)結(jié)構(gòu);3、編寫(xiě)出程序;4、調(diào)試程序:給出一些測(cè)試數(shù)據(jù),檢查輸出結(jié)果。 六、測(cè)試數(shù)據(jù) 輸入數(shù)據(jù):1
9、、1232、123113、123104、012311正確結(jié)果: 1、壹佰二十三元 2、壹佰二十三元一角一分 3、壹佰二十三元一角 4、壹佰二十三元一角一分七、實(shí)驗(yàn)報(bào)告(學(xué)生完成)實(shí)驗(yàn)報(bào)告應(yīng)包括以下幾個(gè)部分:1、程序流程圖;2、程序的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);3、程序的源代碼(程序中必須有相關(guān)的注釋信息)4、程序運(yùn)行結(jié)果的分析。八、思考題(學(xué)生完成)1、Java語(yǔ)言中的循環(huán)語(yǔ)句與其他語(yǔ)言中的有何區(qū)別?2、本實(shí)驗(yàn)中的測(cè)試數(shù)據(jù)前綴0和后綴0怎樣處理比較好?實(shí)驗(yàn)3 字符串(String類(lèi))的使用一、實(shí)驗(yàn)?zāi)康?、區(qū)分String類(lèi)和StringBuffer類(lèi);2、掌握String類(lèi)和StringBuffer類(lèi)的基本
10、使用方法3、通過(guò)上機(jī)編寫(xiě)和運(yùn)行關(guān)于字符串的程序來(lái)加深對(duì)String類(lèi)和StringBuffer類(lèi)等的了解二、實(shí)驗(yàn)內(nèi)容本實(shí)驗(yàn)的內(nèi)容為:編寫(xiě)一個(gè)與居民身份證有關(guān)的程序,可以是Applet或者Application。要求創(chuàng)建一個(gè)類(lèi),該類(lèi)至少具有以下3個(gè)方法:1)檢驗(yàn)居民身份證的真?zhèn)?,若為假身份證,需要提供其虛假信息,比如居民出生年月日有錯(cuò)等。2)獲取真實(shí)居民身份證的信息,該信息包括4個(gè)部分: 該身份證是新身份證還是舊身份證。 該居民身份證的地址碼,如果同學(xué)有最新縣及縣以上行政區(qū)劃代碼可得到居民身份證詳細(xì)的省、市、縣(區(qū))的名稱(chēng),若沒(méi)有則只需顯示地址碼信息即可。 該居民的出生年月日。 該居民的性別。3
11、)將15位的舊身份證轉(zhuǎn)換成18位的新身份證?!緟⒖假Y料】1)舊身份證共有15位,其格式如下:假設(shè)身份證號(hào)碼為:440524800101001地 址 碼出生日期碼順 序 碼440524800101001廣東省汕頭市潮陽(yáng)縣出生年出生月出生日2)新身份證共有18位,其格式如下:假設(shè)身份證號(hào)碼為 址 碼出生日期碼順序碼校驗(yàn)東省汕頭市潮陽(yáng)縣出生年出生月出生日3)地址碼表示編碼對(duì)象常住戶(hù)口所在縣(市、旗、區(qū))的行政區(qū)劃代碼,按 GB/T 2260的規(guī)定執(zhí)行,有條件的同學(xué)可以到“中華人民共和國(guó)國(guó)家統(tǒng)計(jì)局”網(wǎng)站()查看最新縣及縣以
12、上行政區(qū)劃代碼(截止2003年6月30日),該文章的網(wǎng)址為“4)生日期碼表示編碼對(duì)象出生的年、月、日,按 GB/T 7408 的規(guī)定執(zhí)行。年、月、日代碼之間不用分隔符。舊身份證號(hào)碼的出生日期碼只有6位,而新身份證的出生日期碼有8位,年份采用4位表示。5)順序碼表示在同一地址碼所標(biāo)識(shí)的區(qū)域范圍內(nèi),對(duì)同年、同月、同日出生的人編定的順序號(hào),順序碼的奇數(shù)分配給男性,偶數(shù)分配給女性,該順序碼有3位。6)校驗(yàn)碼采用ISO 7064:1983,MOD 11-2 校驗(yàn)碼系統(tǒng),該校驗(yàn)碼只有1位,在新身份證中被采用,其公式為(ai×Wi)(mod 11),在公式中: i表示號(hào)碼字符從右至左包括校驗(yàn)碼在內(nèi)
13、的位置序號(hào); ai表示第i位置上的號(hào)碼字符值; Wi表示第i位置上的加權(quán)因子,其數(shù)值依據(jù)公式Wi=2(i-1)(mod 11)計(jì)算得出。 在求出(ai×Wi)(mod 11)值后依據(jù)下表得到校驗(yàn)碼:(ai×Wi)(mod 11)值012345678910校驗(yàn)碼字符值10X98765432三、實(shí)驗(yàn)要求1、要求學(xué)生在上機(jī)實(shí)驗(yàn)前一定要非常清楚并靈活運(yùn)用該章所講過(guò)的內(nèi)容;2、在上機(jī)實(shí)驗(yàn)前編寫(xiě)好實(shí)驗(yàn)內(nèi)容要求的程序,以便上機(jī)實(shí)驗(yàn)時(shí)調(diào)試、修改等。3、上機(jī)實(shí)驗(yàn)后,每位學(xué)生必須對(duì)該次實(shí)驗(yàn)內(nèi)容寫(xiě)一份實(shí)驗(yàn)報(bào)告,包括程序內(nèi)容、調(diào)試過(guò)程、運(yùn)行情況和結(jié)果等。四、實(shí)驗(yàn)環(huán)境1、PC微機(jī);2、DOS操作系統(tǒng)
14、或 Windows 操作系統(tǒng);3、Eclipse程序集成環(huán)境。 五、實(shí)驗(yàn)步驟1、根據(jù)題目要求,畫(huà)出程序流程圖;2、給出本程序的java數(shù)據(jù)結(jié)構(gòu);3、編寫(xiě)出程序;4、調(diào)試程序:給出一些測(cè)試數(shù)據(jù),檢查輸出結(jié)果。 七、實(shí)驗(yàn)報(bào)告(學(xué)生完成)實(shí)驗(yàn)報(bào)告應(yīng)包括以下幾個(gè)部分:1、程序流程圖;2、程序的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);3、程序的源代碼(必須包含相關(guān)的注釋信息)4、程序運(yùn)行結(jié)果的分析。八、思考題(學(xué)生完成)1Java程序中字符串常量使用什么類(lèi)來(lái)表示?字符串變量又使用什么類(lèi)來(lái)表示?它們主要區(qū)別在哪里?2請(qǐng)說(shuō)明程序String s1="I like "s1+="Java
15、!" 和程序StringBuffer s1=new StringBuffer("I like "); s1.append("Java!"); 的區(qū)別。依據(jù)你得出的結(jié)論,如果程序需要處理大量的字符串連接操作,應(yīng)該盡量使用String類(lèi)還是StringBuffer類(lèi)?實(shí)驗(yàn)4 類(lèi)與對(duì)象一、實(shí)驗(yàn)?zāi)康谋緦?shí)驗(yàn)的目的用于指導(dǎo)讀者掌握J(rèn)ava語(yǔ)言面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,理解對(duì)象的封裝等概念,要求讀者在調(diào)試實(shí)例程序后,總結(jié)出面向?qū)ο蟮氖聞?wù)定義以及以對(duì)象的形式進(jìn)行封裝等內(nèi)容。二、實(shí)驗(yàn)內(nèi)容1、編寫(xiě)一個(gè)名為“復(fù)數(shù)”的類(lèi),包含復(fù)數(shù)的實(shí)部和虛部(數(shù)據(jù)成員),以及復(fù)數(shù)之間的
16、基本算術(shù)運(yùn)算:加、減(方法成員),并要求復(fù)數(shù)加減運(yùn)算,程序運(yùn)行中能對(duì)給定的復(fù)數(shù)進(jìn)行運(yùn)算,并打印運(yùn)算的結(jié)果。2、用類(lèi)來(lái)描述游戲角色的交手次數(shù)、經(jīng)驗(yàn)值、生命值之間的關(guān)系,并斷定角色決斗的勝負(fù)。三、實(shí)驗(yàn)要求1、加減運(yùn)算能夠接收不同類(lèi)型的參數(shù)既可以實(shí)現(xiàn)復(fù)數(shù)與實(shí)數(shù)的加減、復(fù)數(shù)與復(fù)數(shù)的加減運(yùn)算。2、兩游戲角色決斗。角色1交手次數(shù)1,生命值1,經(jīng)驗(yàn)值2;角色2交手次數(shù)1,生命值2,經(jīng)驗(yàn)值3。經(jīng)驗(yàn)值每增加50時(shí),生命值1;生命值<0判為負(fù)。生命值初始為1000,經(jīng)驗(yàn)值初始為0。3、給定二個(gè)不同的角色,判定交手的勝負(fù)關(guān)系。4、實(shí)驗(yàn)報(bào)告給出決斗結(jié)果和交手次數(shù)5、實(shí)驗(yàn)報(bào)告給出所有源代碼。 四、實(shí)驗(yàn)環(huán)
17、境1、PC微機(jī);2、DOS操作系統(tǒng)或 Windows 操作系統(tǒng);3、Eclipse程序集成環(huán)境。 五、實(shí)驗(yàn)步驟 內(nèi)容一:1、創(chuàng)建“復(fù)數(shù)”類(lèi)Complex,定義實(shí)部、虛部成員2、定義構(gòu)造函數(shù)接收二個(gè)double參數(shù)用來(lái)初始化數(shù)據(jù)成員3、定義二個(gè)復(fù)數(shù)運(yùn)算函數(shù)plus()以及minus()各接收一個(gè)復(fù)數(shù)類(lèi)型以實(shí)現(xiàn)復(fù)數(shù)與復(fù)數(shù)的加減運(yùn)算。4、定義二個(gè)復(fù)數(shù)運(yùn)算函數(shù)plus()以及minus()各接收一個(gè)double類(lèi)型以實(shí)現(xiàn)復(fù)數(shù)與與實(shí)數(shù)的加減運(yùn)算。4、定義一個(gè)打印方法。5、在main()方法中創(chuàng)建復(fù)數(shù)對(duì)象并調(diào)用相關(guān)方法來(lái)驗(yàn)證。內(nèi)容二:1、建立角色類(lèi)Role,給出相應(yīng)的成員,并能以生命值、經(jīng)驗(yàn)值初
18、始化角色對(duì)象。2、在角色類(lèi)中建立fight方法,接收一個(gè)角色類(lèi)型的參數(shù)并與之“戰(zhàn)斗”,返回勝者信息。3、在主函數(shù)中初始化二個(gè)角色,調(diào)用fight方法。 六、測(cè)試數(shù)據(jù) 略七、實(shí)驗(yàn)報(bào)告(學(xué)生完成)實(shí)驗(yàn)報(bào)告應(yīng)包括以下幾個(gè)部分:1、程序流程圖;2、程序的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);3、程序的源代碼及相關(guān)注釋4、程序運(yùn)行結(jié)果的分析。八、思考題(學(xué)生完成)1.定義一個(gè)點(diǎn)類(lèi)“Point”。Point 類(lèi)的屬性有x 軸和y 軸坐標(biāo),可以通過(guò)方法setX()設(shè)置x軸坐標(biāo),方法setY()設(shè)置y 軸坐標(biāo),方法getX()獲得x 軸坐標(biāo),方法getY()獲得y 軸坐標(biāo)。編寫(xiě)一個(gè)測(cè)試類(lèi)PointTest 來(lái)創(chuàng)建Point
19、 類(lèi)的對(duì)象,測(cè)試該類(lèi)。2.編程定義一個(gè)棧類(lèi),它封裝了棧數(shù)組,判斷??辗椒ā⑴袛鄺M(mǎn)方法以及進(jìn)棧和出棧。實(shí)驗(yàn)5 繼承與多態(tài)一、實(shí)驗(yàn)?zāi)康?、掌握類(lèi)的繼承關(guān)系和派生方法;2、掌握多態(tài)的概念與使用;3、掌握接口的定義與使用;4、掌握包的概念與使用。二、實(shí)驗(yàn)內(nèi)容1、利用接口編寫(xiě)計(jì)算三角形、梯形面積及周長(zhǎng)的程序。2、計(jì)算 式1:y = x + x/2 + x/3 + + x/n; 式2:y = x + x/2! + x/3! + + x/n!;要求:x為實(shí)數(shù),n為正整數(shù)。任意輸入當(dāng)n為奇數(shù)時(shí),按照式1計(jì)算,當(dāng)n為偶數(shù)時(shí),按照式2計(jì)算。利用繼承機(jī)制編程三、實(shí)驗(yàn)要求1、編寫(xiě)源程序2、要利用繼承機(jī)制編程。
20、60;四、實(shí)驗(yàn)環(huán)境1、PC微機(jī);2、DOS操作系統(tǒng)或 Windows 操作系統(tǒng);3、Eclipse程序集成環(huán)境。 五、實(shí)驗(yàn)步驟1、輸入源程序;2、利用相關(guān)工具(Eclipse運(yùn)行本程序); 六、測(cè)試數(shù)據(jù) 略七、實(shí)驗(yàn)報(bào)告(學(xué)生完成)實(shí)驗(yàn)報(bào)告應(yīng)包括以下幾個(gè)部分:1、程序流程圖;2、程序的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);3、程序的源代碼4、程序運(yùn)行結(jié)果的分析。八、思考題(學(xué)生完成)1、Java中繼承和多態(tài)的行為與C+中的有何不同?2、Java中的繼承和多態(tài)的書(shū)寫(xiě)格式與C+有何不同?實(shí)驗(yàn)6 常用工具類(lèi)一、實(shí)驗(yàn)?zāi)康?、通過(guò)編程實(shí)踐掌握幾種在Java中預(yù)定義的常用工具類(lèi) List、Set和Map Vec
21、tor和Stack 2、通過(guò)實(shí)驗(yàn)理解和掌握 Java Applet的基本知識(shí) 二、實(shí)驗(yàn)內(nèi)容1、使用本章介紹的一種集合類(lèi)型編寫(xiě)程序,實(shí)現(xiàn)從控制臺(tái)任意輸入若干名字,如Mike、Jone、Benny,將它們以字典序按升序方式輸出。2、從下面文本中計(jì)算單詞“Java”、“l(fā)anguage”、“simple”的出現(xiàn)次數(shù),并按次數(shù)從大到小輸出結(jié)果。文本內(nèi)容為:Java is certainly a good programming language. Java was never just a language. Java is a whole platform. Java has a lot of ni
22、ce language features. Java 2D was designed so that simple operations are simple and complex operations are feasible.3、編寫(xiě)一個(gè)Applet,顯示當(dāng)前日期和時(shí)間。顯示的文字顏色、字體、大小均在HTML文件中定義。提示:可以使用java.util包中的Calendar類(lèi),該類(lèi)提供了年、月、日、小時(shí)、分、秒等信息,可以使用int get(int calendarField)方法來(lái)返回由參數(shù)calendarField指定的分量值,如若實(shí)參為Calendar.YEAR,則該方法將返回當(dāng)前
23、的年份。因此可通過(guò)calendarField指定的分量Calendar.YEAR、Calendar.MONTH、Calendar.DATE、Calendar.HOUR、Calendar.MINUTE和Calendar.SECOND調(diào)用get()方法來(lái)取得當(dāng)前的日期和時(shí)間。三、實(shí)驗(yàn)要求1、編寫(xiě)源程序2、要利用java的工具類(lèi)。 四、實(shí)驗(yàn)環(huán)境1、PC微機(jī);2、DOS操作系統(tǒng)或 Windows 操作系統(tǒng);3、Eclipse程序集成環(huán)境。 五、實(shí)驗(yàn)步驟1、輸入源程序;2、利用相關(guān)工具(Eclipse運(yùn)行本程序); 六、測(cè)試數(shù)據(jù) 略七、實(shí)驗(yàn)報(bào)告(學(xué)生完成)實(shí)驗(yàn)報(bào)告應(yīng)包括以下
24、幾個(gè)部分:1、程序流程圖;2、程序的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);3、程序的源代碼及相關(guān)注釋4、程序運(yùn)行結(jié)果的分析。八、思考題(學(xué)生完成)1、列舉幾種可以遍歷集合對(duì)象中元素的方法。2、如何向一個(gè)HashMap對(duì)象中添加元素?實(shí)驗(yàn)7 GUI編程及事件處理一、實(shí)驗(yàn)?zāi)康?、了解和掌握J(rèn)ava語(yǔ)言的關(guān)于GUI編程的基礎(chǔ)類(lèi)(JFC),并對(duì)AWT包和Swing包中的組件比較。2、掌握Swing包的基本組件如JLable、JTextField、JPasswordField、JTextArea、JButton3、掌握常見(jiàn)的容器組件如JPanel、JFrame等。4、掌握Swing的種布局管理器來(lái)管理布局方式。5、理解和掌握j
25、ava的事件處理機(jī)制二、實(shí)驗(yàn)內(nèi)容1編寫(xiě)一個(gè)java程序Counter.java,實(shí)現(xiàn)一個(gè)計(jì)算器的圖形界面,實(shí)現(xiàn)”+,-,*,/”這些基本運(yùn)算。2編寫(xiě)一個(gè)java程序FileMenu.java,設(shè)計(jì)一個(gè)簡(jiǎn)易文件管理菜單。菜單有“文件”、“編輯”、“格式”、“窗口”、“幫助”。其中,文件菜單項(xiàng)有子菜單項(xiàng):新建、打開(kāi)、關(guān)閉、退出;編輯菜單項(xiàng)有子菜單項(xiàng):復(fù)制、粘貼、查找、替換、定位;“格式”菜單可以設(shè)置前景色、背景色、字體的風(fēng)格、指定字體格式等內(nèi)容;幫助菜單項(xiàng)有子菜單項(xiàng):用戶(hù)幫助、版本說(shuō)明。采用Windows操作系統(tǒng)的外觀。3編寫(xiě)程序,實(shí)現(xiàn)通過(guò)鼠標(biāo)輪實(shí)現(xiàn)對(duì)一個(gè)圓形的大小控制及通過(guò)鍵盤(pán)實(shí)現(xiàn)圓形的移動(dòng)。4
26、編寫(xiě)程序,實(shí)現(xiàn)用戶(hù)注冊(cè)的功能。具體包括用戶(hù)的用戶(hù)名、密碼、確認(rèn)密碼、性別、出生年月。另外設(shè)計(jì)兩個(gè)按鈕“確認(rèn)”和“取消”。當(dāng)用戶(hù)按下“確認(rèn)”按鈕時(shí),可以將注冊(cè)信息在屏幕上顯示出來(lái)。如果按下“取消”,則退出用戶(hù)注冊(cè)。要求使用布局管理器(布局管理器主要包括:FlowLayout,BorderLayout,GridLayout,CardLayout,GridBagLayout。)三、實(shí)驗(yàn)要求1、了解java系統(tǒng)圖形用戶(hù)界面的基本工作原理和界面的設(shè)計(jì)步驟;2、了解圖形用戶(hù)界面的事件響應(yīng)機(jī)制;3、掌握?qǐng)D形用戶(hù)界面各種常用的基本組建的使用方法及其事件響應(yīng);4、掌握?qǐng)D形用戶(hù)界面各種布局策略的設(shè)計(jì)與使用。四、實(shí)
27、驗(yàn)環(huán)境1、PC微機(jī);2、DOS操作系統(tǒng)或 Windows 操作系統(tǒng);3、Sdk程序集成環(huán)境或Jbuilder程序集成環(huán)境。五、實(shí)驗(yàn)步驟1、輸入源程序;2、利用相關(guān)工具(Eclipse運(yùn)行本程序); 六、測(cè)試數(shù)據(jù) 略七、實(shí)驗(yàn)報(bào)告(學(xué)生完成)實(shí)驗(yàn)報(bào)告應(yīng)包括以下幾個(gè)部分:1、程序流程圖;2、程序的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);3、程序的源代碼及相關(guān)注釋4、程序運(yùn)行結(jié)果的分析。八、思考題(學(xué)生完成)1、Java中的圖形界面的各個(gè)類(lèi)之間的關(guān)系?2、GridBagLayout的布局特點(diǎn)?3常見(jiàn)的事件處理方式有哪幾種?請(qǐng)比較各種方式的特點(diǎn)。實(shí)驗(yàn)8 Java中的多線程一、實(shí)驗(yàn)?zāi)康恼莆認(rèn)ava多線程應(yīng)用程序設(shè)計(jì)方法,
28、并了解在Java用程序中控制線程狀態(tài)的方法。二、實(shí)驗(yàn)內(nèi)容隨著計(jì)算機(jī)的飛速發(fā)展,個(gè)人計(jì)算機(jī)上的操作系統(tǒng)也紛紛采用多任務(wù)和分時(shí)設(shè)計(jì),將早期只有大型計(jì)算機(jī)才具有的系統(tǒng)特性帶到了個(gè)人計(jì)算機(jī)系統(tǒng)中。一般可以在同一時(shí)間內(nèi)執(zhí)行多個(gè)程序的操作系統(tǒng)都有進(jìn)程的概念。一個(gè)進(jìn)程就是一個(gè)執(zhí)行中的程序,而每一個(gè)進(jìn)程都有自己獨(dú)立的一塊內(nèi)存空間、一組系統(tǒng)資源。在進(jìn)程概念中,每一個(gè)進(jìn)程的內(nèi)部數(shù)據(jù)和狀態(tài)都是完全獨(dú)立的。Java程序通過(guò)流控制來(lái)執(zhí)行程序流,程序中單個(gè)順序的流控制稱(chēng)為線程,多線程則指的是在單個(gè)程序中可以同時(shí)運(yùn)行多個(gè)不同的線程,執(zhí)行不同的任務(wù)。多線程意味著一個(gè)程序的多行語(yǔ)句可以看上去幾乎在同一時(shí)間內(nèi)同時(shí)運(yùn)行。線程與進(jìn)程
29、相似,是一段完成某個(gè)特定功能的代碼,是程序中單個(gè)順序的流控制;但與進(jìn)程不同的是,同類(lèi)的多個(gè)線程是共享一塊內(nèi)存空間和一組系統(tǒng)資源,而線程本身的數(shù)據(jù)通常只有微處理器的寄存器數(shù)據(jù),以及一個(gè)供程序執(zhí)行時(shí)使用的堆棧。所以系統(tǒng)在產(chǎn)生一個(gè)線程,或者在各個(gè)線程之間切換時(shí),負(fù)擔(dān)要比進(jìn)程小的多,正因如此,線程被稱(chēng)為輕負(fù)荷進(jìn)程(light-weight process)。一個(gè)進(jìn)程中可以包含多個(gè)線程。本實(shí)驗(yàn)中要求大家掌握一下幾個(gè)程序,并給出結(jié)果:1、通過(guò)繼承類(lèi)Thread構(gòu)造線程體class SimpleThread extends Thread public SimpleThread(String str) sup
30、er(str); /調(diào)用其父類(lèi)的構(gòu)造方法public void run() /重寫(xiě)run方法for (int i = 0; i < 10; i+) System.out.println(i + " " + getName();/打印次數(shù)和線程的名字try sleep(int)(Math.random() * 1000);/線程睡眠,把控制權(quán)交出去 catch (InterruptedException e) System.out.println("DONE! " + getName();/線程執(zhí)行結(jié)束public class TwoThreadsT
31、est public static void main (String args) new SimpleThread("First").start();/第一個(gè)線程的名字為Firstnew SimpleThread("Second").start();/第二個(gè)線程的名字為Second 2、通過(guò)接口構(gòu)造線程體public class Clock extends java.applet.Applet implements Runnable /實(shí)現(xiàn)接口Thread clockThread; public void start() /該方法是Applet的方法,
32、不是線程的方法if (clockThread = null) clockThread = new Thread(this, "Clock");/*線程體是Clock對(duì)象本身,線程名字為"Clock"*/clockThread.start(); /啟動(dòng)線程 public void run() /run()方法中是線程執(zhí)行的內(nèi)容while (clockThread != null) repaint(); /刷新顯示畫(huà)面try clockThread.sleep(1000); /睡眠1秒,即每隔1秒執(zhí)行一次 catch (InterruptedExceptio
33、n e) public void paint(Graphics g) Date now = new Date(); /獲得當(dāng)前的時(shí)間對(duì)象g.drawString(now.getHours() + ":" + now.getMinutes()+ ":" +now.getSeconds(), 5, 10);/顯示當(dāng)前時(shí)間public void stop() /該方法是Applet的方法,不是線程的方法clockThread.stop(); clockThread = null; 3、線程的調(diào)度class ThreadTestpublic static voi
34、d main( String args ) Thread t1 = new MyThread("T1");t1.setPriority( Thread.MIN_PRIORITY ); /設(shè)置優(yōu)先級(jí)為最小t1.start( );Thread t2 = new MyThread("T2");t2.setPriority( Thread.MAX_PRIORITY ); /設(shè)置優(yōu)先級(jí)為最大t2.start( );Thread t3 = new MyThread("T3");t3.setPriority( Thread.MAX_PRIORITY
35、 ); /設(shè)置優(yōu)先級(jí)為最大t3.start( );class MyThread extends Thread String message;MyThread ( String message ) this.message = message;public void run() for ( int i=0; i<3; i+ )System.out.println( message+" "+getPriority() ); /獲得線程的優(yōu)先級(jí) 三、實(shí)驗(yàn)要求1、了解線程的概念;2、了解簡(jiǎn)單的多線程編程;3、了解線程的同步過(guò)程,能夠編寫(xiě)線程的同步程序。 四、實(shí)驗(yàn)環(huán)境
36、1、PC微機(jī);2、DOS操作系統(tǒng)或 Windows 操作系統(tǒng);3、Eclipse程序集成環(huán)境。五、實(shí)驗(yàn)步驟 1、輸入上述程序; 2、分別執(zhí)行各個(gè)程序;3、分析執(zhí)行結(jié)果,進(jìn)一步加深對(duì)多線程概念的理解。 六、測(cè)試數(shù)據(jù)略七、實(shí)驗(yàn)報(bào)告要求實(shí)驗(yàn)報(bào)告應(yīng)包括以下幾個(gè)部分:1、Java中多線程的概念;2、多線程的幾種實(shí)現(xiàn)方法;3、線程同步的方法。八、思考題1、java中的線程同步機(jī)制與C+中的比較?實(shí)驗(yàn)9 輸入輸出流一、實(shí)驗(yàn)?zāi)康模?、掌握使用輸入輸出流進(jìn)行文件的讀寫(xiě)操作。二、實(shí)驗(yàn)內(nèi)容:1、按程序模板要求,將注釋處替換為Java程序代碼。實(shí)現(xiàn)文件加密。2、按程序模板要求,將注釋處替換為Java程序代碼
37、。給文件的內(nèi)容添加行號(hào).3、串行化對(duì)象Student到本地文件,并在下一次運(yùn)行程序時(shí)用來(lái)初始化。(選做)三、實(shí)驗(yàn)要求:1、實(shí)驗(yàn)報(bào)告給出內(nèi)容1,2的填充代碼以及內(nèi)容3的全部源代碼。四、實(shí)驗(yàn)環(huán)境1、PC微機(jī);2、DOS操作系統(tǒng)或 Windows 操作系統(tǒng);3、Eclipse程序集成環(huán)境。五、實(shí)驗(yàn)步驟:1、按程序模板要求,將注釋處替換為Java程序代碼該程序?qū)⒁汛嬖诘奈谋疚募用芎蟠嫒肓硪粋€(gè)文本文件中。請(qǐng)按模板要求,將【代碼1】【代碼6】替換為Java程序代碼SecretExample.javaimport java.io.*;public class SecretExample public st
38、atic void main(String args ) File fileOne=new File("hello.txt"), fileTwo=new File("hello.secret"); char b=new char100; try FileReader in=【代碼1】 / 創(chuàng)建指向fileOne的字符輸入流 FileWriter out=【代碼2】 / 創(chuàng)建指向fileTwo字符輸出流 int n=-1; while(n=in.read(b)!=-1) for(int i=0;i<n;i+) bi=(char)(bi'a'); 【代碼3】 / out將數(shù)組b的前n單元寫(xiě)到文件 【代碼3】 / out關(guān)閉 in=【代碼4】 / 創(chuàng)建指向fileTwo的字符輸入流 System.out.println("加密后的文件內(nèi)容:"); while(n=in.read(b)!=-1) String str=new String(b,0,n); System.out.println(str); in=【代碼5】 / 創(chuàng)建指向fileTwo的字符輸入流 System.out.println(&q
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)智慧養(yǎng)老服務(wù)行業(yè)全國(guó)市場(chǎng)開(kāi)拓戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國(guó)車(chē)載視頻監(jiān)控行業(yè)并購(gòu)重組擴(kuò)張戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國(guó)制氫行業(yè)營(yíng)銷(xiāo)創(chuàng)新戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國(guó)柔性O(shè)LED行業(yè)開(kāi)拓第二增長(zhǎng)曲線戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國(guó)電子紗行業(yè)全國(guó)市場(chǎng)開(kāi)拓戰(zhàn)略制定與實(shí)施研究報(bào)告
- 關(guān)于煎餅的市場(chǎng)調(diào)查問(wèn)卷
- 2024-2030年中國(guó)滾裝船行業(yè)市場(chǎng)全景監(jiān)測(cè)及投資前景展望報(bào)告
- 二年級(jí)數(shù)學(xué)計(jì)算題專(zhuān)項(xiàng)練習(xí)
- 天燃?xì)獍踩R(shí)培訓(xùn)課件
- 二零二五年度國(guó)有企業(yè)保安隊(duì)伍建設(shè)合同范本
- 2024年儲(chǔ)罐呼吸閥項(xiàng)目可行性研究報(bào)告
- 控制特需醫(yī)療服務(wù)規(guī)模管理措施
- 部編版三年級(jí)上冊(cè)道德與法治期末測(cè)試卷帶答案(鞏固)
- 教師個(gè)人工作業(yè)績(jī)總結(jié)范文
- 《中華人民共和國(guó)政府采購(gòu)法》專(zhuān)題培訓(xùn)
- 鄭州大學(xué)《高等代數(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 對(duì)銀行領(lǐng)導(dǎo)班子的評(píng)價(jià)意見(jiàn)和建議范文(3篇)
- 三年級(jí)上冊(cè)三位數(shù)減法豎式計(jì)算題200道及答案
- 如何保護(hù)個(gè)人手機(jī)數(shù)據(jù)的安全
- 2024醫(yī)療設(shè)備維修與保養(yǎng)合同
- 第6課 戰(zhàn)國(guó)時(shí)期的社會(huì)變革(說(shuō)課稿)2024-2025學(xué)年七年級(jí)歷史上冊(cè)同步高效課堂(統(tǒng)編版2024)
評(píng)論
0/150
提交評(píng)論