版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Java語言基礎(chǔ)課程實(shí)驗(yàn)指導(dǎo)書合肥學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系實(shí)驗(yàn)一 Java開發(fā)環(huán)境的配置一、實(shí)驗(yàn)?zāi)康模?.熟悉JDK的安裝和環(huán)境變量path,classpath的配置;2.熟悉Editplus(UltraEdi或TextPad)編輯工具;3.認(rèn)識(shí)Application和Applet程序結(jié)構(gòu);二、實(shí)驗(yàn)內(nèi)容:1JDK的安裝和配置環(huán)境變量path,classpath;2熟悉安裝使用Editplus(UltraEdi或TextPad)編輯工具3安裝和使用Java集成開發(fā)工具(如MyEclipse)*;4編譯調(diào)試Application和Applet程序;三、實(shí)驗(yàn)要求:1.程序能輸出一條簡單的問候信息;2.
2、實(shí)驗(yàn)報(bào)告中對(duì)程序結(jié)構(gòu)做出詳細(xì)的解釋;3.實(shí)驗(yàn)報(bào)告中給出配置JDK的步驟;4.寫出實(shí)驗(yàn)報(bào)告中要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯(cuò)誤信息提示,并給出解決辦法;四、實(shí)驗(yàn)步驟:1從 上下載最新版本的JDK,并安裝;2設(shè)置環(huán)境變量path ,classpath, 使得Java程序能正確編譯和執(zhí)行;3在Editplus(或UltraEdit)環(huán)境下編寫一個(gè)Application程序;(1)在主方法static public void main(String args)中調(diào)用System.out.println()方法,使程序輸出一條問候信息;(2) 編譯運(yùn)行程序,觀察運(yùn)行情況和輸出結(jié)果。(使用JDK
3、環(huán)境,調(diào)用javac.exe和java.exe編譯和執(zhí)行程序)4. 在Editplus(或UltraEdit)環(huán)境下編寫一個(gè)Applet程序;(1)在public void paint(Graphics g)方法中調(diào)用g.drawString()方法,使程序輸出一條問候信息;(2) 編譯運(yùn)行程序,觀察運(yùn)行情況和輸出結(jié)果。(使用JDK環(huán)境,調(diào)用javac.exe編譯和瀏覽器解釋執(zhí)行Applet程序)實(shí)驗(yàn)二 Java語言基礎(chǔ)一、實(shí)驗(yàn)?zāi)康模?熟悉Java基本語法,基本數(shù)據(jù)類型,各種運(yùn)算符及表達(dá)式的使用;2掌握運(yùn)算符優(yōu)先級(jí),熟悉使用Java的選擇語句,循環(huán)語句;二、實(shí)驗(yàn)內(nèi)容:1.編寫Java Appl
4、ication程序,輸出1900年到2000年之間的所有潤年。(閏年的判斷條件:能被4整除且不能被100整除,或能被400整除);2.編寫Java Appet 程序打印 “水仙花” 數(shù) (它的個(gè)、十、百位數(shù)字的立方的和等于該數(shù)本身,如:153=13+53+33) ;3. 編寫Java Application程序,分別用do-while和for循環(huán)計(jì)算1+1/2!+1/3!+1/4!.的前20項(xiàng)和;三、實(shí)驗(yàn)要求:1. 正確使用Java語言的選擇語句,循環(huán)語句;2. 調(diào)試程序、編譯,運(yùn)行后得到正確的結(jié)果;3.實(shí)驗(yàn)報(bào)告要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯(cuò)誤信息提成示,并給出解決辦法并分析原因(
5、附運(yùn)行界面、源代碼);四、實(shí)驗(yàn)步驟:1.編寫public類;在static public void main(String args)方法中加入實(shí)現(xiàn)要求功能的代碼,主要步驟如下:(第一題)從1900到2000循環(huán),按照閏年的判斷條件是則輸出1900年到2000年之間的所有潤年。(第二題)編寫Java Applet, 在public void paint(Graphics g)方法中加入實(shí)現(xiàn)要求功能的代碼, 主要步驟是:從100到1000循環(huán),判斷每個(gè)數(shù)是否符合水仙花數(shù)的特點(diǎn),是則輸出之。3.編譯運(yùn)行程序,觀察輸出結(jié)果是否正確。五、課外實(shí)驗(yàn)1. 輸出100以內(nèi)的所有素?cái)?shù)。(提示: 逐個(gè)判斷小于a
6、的每個(gè)正整數(shù)x,第二重循環(huán)針對(duì)x,判斷其是否是質(zhì)數(shù))2. 用循環(huán)語句打印一個(gè)乘法表。3判斷回文數(shù)(逆序排列后得到的數(shù)和原數(shù)相同)。實(shí)驗(yàn)三 類和對(duì)象一、實(shí)驗(yàn)?zāi)康模?掌握J(rèn)ava類的結(jié)構(gòu)、類的定義、方法和屬性的定義以及對(duì)象的實(shí)現(xiàn);2掌握類及其成員修飾符的使用;掌握構(gòu)造函數(shù)的使用;方法的參數(shù)傳遞和返回值的用法;3掌握類變量與實(shí)例變量,以及類方法與實(shí)例方法的區(qū)別;二、實(shí)驗(yàn)內(nèi)容:1定義一個(gè)學(xué)生類(Student),屬性有private的名字(name), public的年齡(age),專業(yè)(specialty)和封裝name屬性的方法:setName(),getName(),getspecialty()
7、編寫Application,創(chuàng)建一個(gè)學(xué)生對(duì)象,設(shè)置name和age屬性值,然后調(diào)用一個(gè)方法(此方法將對(duì)象作為參數(shù)傳遞,在方法中打印出學(xué)生的名字name和年齡age)。(學(xué)生類僅包含靜態(tài)成員變量和方法。)2定義一個(gè)類MyPoint,代表一個(gè)點(diǎn),public屬性有x和y,方法有顯示點(diǎn)坐標(biāo)show(),構(gòu)造函數(shù)有兩個(gè)參數(shù)分別給x,y賦值,在main方法中構(gòu)造兩個(gè)對(duì)象,再創(chuàng)建一方法(getMiddle)為取兩個(gè)點(diǎn)構(gòu)成線段的中點(diǎn)的坐標(biāo),參數(shù)為2個(gè)點(diǎn)對(duì)象,調(diào)用此方法后得到一個(gè)新的點(diǎn),編寫Application,顯示該對(duì)象的坐標(biāo)值。3定義一個(gè)復(fù)數(shù)(z=x+iy)類Complex,包含: 兩個(gè)屬性:實(shí)部x和虛
8、部y 默認(rèn)構(gòu)造函數(shù) Complex(),設(shè)置x=0,y=0; 構(gòu)造函數(shù):Complex(int i,int j)1)求顯示復(fù)數(shù)的方法:showComp()將其顯示為如: 5+8i或5-8i 的形式。2)求復(fù)數(shù)的和的方法:(參數(shù)是兩個(gè)復(fù)數(shù)類對(duì)象,返回值是復(fù)數(shù)類對(duì)象)3) 求復(fù)數(shù)的差的方法:(參數(shù)是兩個(gè)復(fù)數(shù)類對(duì)象,返回值是復(fù)數(shù)類對(duì)象)4)求復(fù)數(shù)的乘積的方法:(參數(shù)是兩個(gè)復(fù)數(shù)類對(duì)象,返回值是復(fù)數(shù)類對(duì)象)5)比較兩個(gè)復(fù)數(shù)是否相等的方法(參數(shù)是兩個(gè)復(fù)數(shù)類對(duì)象,返回值是boolean類型)三、實(shí)驗(yàn)要求:1. 正確地定義類、方法和屬性;2. 學(xué)會(huì)方法的參數(shù)傳遞和返回值的用法;3. 熟練使用類及其成員修飾符;
9、4. 使用構(gòu)造函數(shù)創(chuàng)建類的對(duì)象;5. 類變量與實(shí)例變量,以及類方法與實(shí)例方法的使用;6.程序應(yīng)包括各個(gè)被調(diào)用方法的執(zhí)行結(jié)果的顯示;7. 實(shí)驗(yàn)報(bào)告要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯(cuò)誤信息提示,并給出解決辦法并分析原因。(附運(yùn)行界面、源代碼);四、實(shí)驗(yàn)步驟:1(第1題)定義一個(gè)學(xué)生類(Student)及它的屬性和方法;定義主類和main(),在main()方法中創(chuàng)建學(xué)生對(duì)象,并通過對(duì)象調(diào)用它的方法setName(),getName(),輸出學(xué)生的名字name和年齡age;2. (第2題) 定義類Point及它的屬性、方法和構(gòu)造函數(shù),定義主類和main(),在main()方法中創(chuàng)建兩個(gè)坐標(biāo)對(duì)
10、象,,并通過對(duì)象調(diào)用getMiddle方法后得到一個(gè)新的點(diǎn)坐標(biāo),調(diào)用show()顯示該對(duì)象的坐標(biāo)值。3. (第3題)定義一個(gè)復(fù)數(shù)(z=x+yi)類Complex,及它的屬性、方法和構(gòu)造函數(shù);定義主類和main()方法,在main()方法中創(chuàng)建兩個(gè)復(fù)數(shù)類Complex對(duì)象,并通過復(fù)數(shù)類對(duì)象調(diào)用它們的屬性和方法,輸出方法執(zhí)行結(jié)果;五、課外實(shí)驗(yàn)1.構(gòu)造一個(gè)類來描述屏幕上的一個(gè)點(diǎn),該類的構(gòu)成包括點(diǎn)的x和y兩個(gè)坐標(biāo),以及一些對(duì)點(diǎn)進(jìn)行的操作,包括:取得點(diǎn)的坐標(biāo)值,對(duì)點(diǎn)的坐標(biāo)進(jìn)行賦值,編寫應(yīng)用程序生成該類的對(duì)象并對(duì)其進(jìn)行操作。2.編寫實(shí)現(xiàn):有一個(gè)三角形類Triangle,成員變量有底邊x和另一條邊y,和兩邊
11、的夾角a(0a180),a為靜態(tài)成員,成員方法有兩個(gè):求面積s(無參數(shù))和修改角度(參數(shù)為角度)。3.編寫實(shí)現(xiàn): 構(gòu)造函數(shù)為 Triangle(int xx,int yy,int aa) 參數(shù)分別為x,y,a賦值 在main方法中構(gòu)造兩個(gè)對(duì)象,求出其面積,然后使用修改角度的方法,修改兩邊的夾角,再求出面積值。(提示:求高的方法 h=y*Math.sin(a) )注意:構(gòu)造方法用于對(duì)成員變量初始化,無參數(shù)的構(gòu)造方法將成員變量初始化為0值。26實(shí)驗(yàn)四 java繼承與多態(tài)一、實(shí)驗(yàn)?zāi)康模?掌握繼承、多態(tài)的概念與實(shí)現(xiàn)方法;2掌握包和接口的定義和使用方法;二、實(shí)驗(yàn)內(nèi)容:1分別編寫兩個(gè)類Point2D,Po
12、int3D來表示二維空間和三維空間的點(diǎn),使之滿足下列要求:1)Point2D有兩個(gè)整型成員變量x, y (分別為二維空間的X,Y方向坐標(biāo)),Point2D的構(gòu)造方法要實(shí)現(xiàn)對(duì)其成員變量x, y的初始化。2)Point2D有一個(gè)void型成員方法offset(int a, int b),它可以實(shí)現(xiàn)Point2D的平移。3)Point3D是Point2D的直接子類,它有有三個(gè)整型成員變量x,y,z (分別為三維空間的X,Y,Z方向坐標(biāo)),Point3D有兩個(gè)構(gòu)造方法:Point3D(int x,int y,int z)和Point3D(Point2D p,int z),兩者均可實(shí)現(xiàn)對(duì)Point3D的
13、成員變量x, y,z的初始化。4)Point3D有一個(gè)void型成員方法offset(int a, int b,int c),該方法可以實(shí)現(xiàn)Point3D的平移。5)在Point3D中的主函數(shù)main()中實(shí)例化兩個(gè)Point2D的對(duì)象p2d1,p2d2,打印出它們之間的距離,再實(shí)例化兩個(gè)Point2D的對(duì)象p3d1,p3d2,打印出他們之間的距離。21)定義抽象類Shape,抽象方法為showArea(),求出面積并顯示,定義矩形類Rectangle,正方形類Square,圓類 Circle,根據(jù)各自的屬性,用showArea方法求出各自的面積,在main方法中構(gòu)造3個(gè)對(duì)象,調(diào)用showAr
14、ea方法。2)定義接口DiagArea,其中包含方法double getDiagonal()求對(duì)角線長, double getArea()求面積,定義一個(gè)矩形類,實(shí)現(xiàn)此接口,并自行擴(kuò)充成員變量和方法;3)定義一個(gè)正方形類繼承矩形類(如矩形有長w和寬h,正方形有邊x,并有相應(yīng)的構(gòu)造函數(shù),有一個(gè)方法中一次直接顯示邊長、面積和對(duì)角線長),在另一類中的主方法里使用測試該類。三、實(shí)驗(yàn)要求:1. 能實(shí)現(xiàn)類的繼承關(guān)系;2. 用多種方法創(chuàng)建各個(gè)類的對(duì)象;3. 程序應(yīng)包括各個(gè)被調(diào)用方法的執(zhí)行結(jié)果的顯示。4. 寫出實(shí)驗(yàn)報(bào)告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯(cuò)誤信息提示,并給出解決辦法。(附運(yùn)行界面、源代碼
15、)。四、實(shí)驗(yàn)步驟:1(第1題)定義Point2D,及定義它的屬性和方法; 定義子類Point3D,及定義它的屬性和方法;在Point3D中的主函數(shù)main()中實(shí)例化兩個(gè)Point2D的對(duì)象,并通過這兩個(gè)對(duì)象調(diào)用它們的屬性和方法,輸出方法執(zhí)行結(jié)果。2(第2題)定義抽象類Shape,抽象方法為showArea(),再定義矩形類Rectangle,正方形類Square,圓類 Circle,和各自的屬性。定義主類、主方法,在main方法中構(gòu)造3個(gè)對(duì)象,調(diào)用showArea方法;定義接口DiagArea,其中包含方法double getDiagonal(),在主main方法中輸出方法執(zhí)行結(jié)果。五、課外
16、實(shí)驗(yàn)1定義一個(gè)描述人的基本類,該類包括人的性別和出生日期兩個(gè)數(shù)據(jù)成員,以及設(shè)置和獲取這些屬性值的方法成員;再定義一個(gè)大學(xué)生類,使大學(xué)生類具有人的所有屬性外,還具有姓名、學(xué)號(hào),大學(xué)入學(xué)成績,籍貫屬性以及設(shè)置和獲取這些屬性值的方法成員;編寫完整的程序,完成一個(gè)具有班級(jí)學(xué)生信息管理功能的程序。2創(chuàng)建一個(gè)接口Shape,其中有抽象方法area,類Circle 、Rectangle實(shí)現(xiàn)area方法計(jì)算其面積并返回。又有Star實(shí)現(xiàn)Shape的area方法,其返回值是0,Star類另有一返回值boolean型方法isStar;在main方法里創(chuàng)建一個(gè)Vector,根據(jù)隨機(jī)數(shù)的不同向其中加入Shape的不同
17、子類對(duì)象(如是1,生成Circle對(duì)象;如是2,生成Rectangle對(duì)象;如是3,生成Star對(duì)象)。然后將Vector中元素依次取出,判斷其是否為Star類。如是返回其是個(gè)Star。否則返回其面積。3.學(xué)校中有老師和學(xué)生兩類人,而在職研究生既是老師又是學(xué)生,對(duì)學(xué)生的管理和對(duì)教師的管理在他們身上都有體現(xiàn)。1)設(shè)計(jì)兩個(gè)信息管理接口StudentManageInterface和TeacherManageInterface。其中,StudentInterface接口包括setFee()方法和getFee()方法,分別用于設(shè)置和獲取學(xué)生的學(xué)費(fèi);TeacherInterface接口包括setPay()
18、方法和getPay()方法,分別用于設(shè)置和獲取教師的工資。2) 定義一個(gè)研究生類Graduate,實(shí)現(xiàn)StudentInterface接口和TeacherInterface接口,它定義的成員變量有name(姓名)、sex(性別)、age(年齡)、fee(每學(xué)期學(xué)費(fèi))、pay(月工資)。3) 創(chuàng)建一個(gè)姓名為“zhangsan”的研究生,統(tǒng)計(jì)他的年收入和學(xué)費(fèi),如果收入減去學(xué)費(fèi)不足2000元,則輸出“provide a loan”(需要貸款)信息。提示:1)定義兩個(gè)接口,分別在其中申明兩個(gè)方法。2)定義主類Graduate,實(shí)現(xiàn)這兩個(gè)接口。3)定義主類的成員變量,和構(gòu)造方法。 4)給出四個(gè)接口方法的
19、實(shí)現(xiàn)。5)給出一個(gè)計(jì)算是否需要貸款的方法,在里面統(tǒng)計(jì)年收入和學(xué)費(fèi),并輸出是否需要貸款的信息。6)寫main方法。在其中創(chuàng)建一個(gè)姓名為“zhangsan”的研究生,調(diào)用計(jì)算是否需要貸款的方法。4書后練習(xí)實(shí)驗(yàn)五 Java數(shù)組、字符串及常用類應(yīng)用一、實(shí)驗(yàn)?zāi)康模?掌握數(shù)組的定義和使用方法;熟悉數(shù)組的排序、查找等算法;2掌握字符串的使用方法;二、實(shí)驗(yàn)內(nèi)容:1編寫Application程序, 從命令行參數(shù)輸入10個(gè)整數(shù)并保存在數(shù)組中,求數(shù)組中最大、最小、數(shù)據(jù)的和、平均值。2.從命令行參數(shù)一日期,如“2005-5-6”,計(jì)算與今日之間的天數(shù)間隔。3.將命令行第一個(gè)參數(shù)每個(gè)字符放入一字符數(shù)組,然后逆序輸出4編
20、寫Application程序,接受用戶輸入一段英文文字后,輸出其中的字符數(shù)、單詞數(shù)和句子數(shù)(設(shè)句子以“?”、“!”、“.”結(jié)束)。5打印楊輝三角的前10層。 6.編寫Applet程序,使用 *畫一條正弦曲線(提示:y=a* sin(x),坐標(biāo)要取整)三、實(shí)驗(yàn)要求:1.熟練對(duì)象數(shù)組及創(chuàng)建初始化和未初始化的數(shù)組的方法;2. 熟悉從命令行參數(shù)的使用;3. 熟悉String 和StringBUFFER的使用方法4. 熟悉常用類庫的使用;5. 寫出實(shí)驗(yàn)報(bào)告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯(cuò)誤信息提示,并給出解決辦法。(附運(yùn)行界面、源代碼)。四、實(shí)驗(yàn)步驟:1(第1題).從命令行輸入10個(gè)數(shù)到數(shù)組
21、,用循環(huán)語句分別求最大、最小、數(shù)據(jù)的和、平均值。2. (第2題)利用String類的各種方法,分別判斷字符是否為“?”、“!”、“.”,用3個(gè)計(jì)數(shù)器分別計(jì)數(shù)。3(第3題)將命令行第一個(gè)參數(shù)字符串中的每個(gè)字符作為數(shù)組元素放入一字符數(shù)組,再循環(huán)語句逆序數(shù)組元素。4(第4題)定義一個(gè)二維數(shù)組,第一維的長度為所打印楊輝三角的層數(shù)(即10),第二維為每一層的數(shù)據(jù)個(gè)數(shù)(也就是其所在的層數(shù))。5 (第5題) 利用Math類中sin函數(shù),在Paint()方法中用Graphics類drawString()畫一條正弦曲線.五、課外實(shí)驗(yàn)1求Fibonacci序列的前n項(xiàng),要求:在main方法中定義一數(shù)組,數(shù)組的長度
22、n為一final定義的常量,使用一單獨(dú)方法,無返回值,參數(shù)為一數(shù)組,在方法中給數(shù)組賦予序列的值,在main方法中調(diào)用該方法,然后打印結(jié)果數(shù)組的內(nèi)容。2聲明一個(gè)矩陣類Matrix,成員變量是一個(gè)二維數(shù)組,設(shè)數(shù)組元素類型為int,請(qǐng)?jiān)O(shè)計(jì)方法:(1)構(gòu)造方法:Matrix() /構(gòu)造一個(gè)10X10個(gè)元素的矩陣,沒有數(shù)據(jù)Matrix(int n,int m) /構(gòu)造一個(gè)nXm個(gè)元素的矩陣,數(shù)據(jù)由隨機(jī)數(shù)產(chǎn)生Matrix(int table) /以一個(gè)整型的二維數(shù)組構(gòu)造一個(gè)矩陣(使用 this)(2) 實(shí)例方法: public void output() /輸出Matrix類中數(shù)組的元素值public v
23、oid transpose() /輸出一個(gè)矩陣的轉(zhuǎn)置矩陣隨機(jī)數(shù)求法:Math.random( )返回0-1的小數(shù),由上題中的Matrix類派生出正方形Square類,在構(gòu)造方法中調(diào)用父類的構(gòu)造方法(使用super)。3. 編寫一個(gè)Java程序,完成以下功能:(1)聲明一個(gè)名為s的String對(duì)象,并使它的內(nèi)容是“My name is Carrol”;(2)打印整個(gè)字符串;(3)打印字符串的長度;(4)打印字符串的第一個(gè)字符;(5)打印最后一個(gè)字符;(6)打印字符串的第一個(gè)單詞。*4編寫一個(gè)程序,用散列表實(shí)現(xiàn)學(xué)生成績單的存儲(chǔ)和查詢,并將若干個(gè)查詢結(jié)果存放到一個(gè)向量中,通過循環(huán)將向量對(duì)象內(nèi)容逐個(gè)輸
24、出。*5.從命令行讀入一浮點(diǎn)數(shù)值,將其轉(zhuǎn)化為中文金額的大寫方式,如123.45,轉(zhuǎn)化為:壹佰貳拾叁元肆角伍分,中間有多個(gè)0只要一個(gè)零。*6利用Vector對(duì)象改寫上面的程序,輸入元素個(gè)數(shù)由用戶自由確定。實(shí)驗(yàn)六 Applet類及應(yīng)用一、實(shí)驗(yàn)?zāi)康模?.掌握applet的程序結(jié)構(gòu)和運(yùn)行方式;2.掌握從html文檔向Java Applet傳遞參數(shù)的方法;3.理解applet程序的生命周期;4.掌握在Applet中對(duì)字體、顏色、播放聲音、顯示圖像和動(dòng)畫控制方法;二、實(shí)驗(yàn)內(nèi)容:1.編寫Applet程序,改變applet窗口大小,使其最大化、最小化,查看init()、start()、paint()、和des
25、troy()方法的執(zhí)行情況(執(zhí)行順序和執(zhí)行次數(shù))。2 編寫Applet顯示字符串,顯示字符串及其顯示位置,字體、字體大小和顏色通過HTML文件中的參數(shù)來傳遞。3編寫Applet(大小140*60),其背景色為藍(lán)色,畫一個(gè)長方形(其填充色為pink,各邊離邊小于10像素)和一個(gè)在填充的長方形中左右移動(dòng)的小球(半徑15)。4. 實(shí)現(xiàn)一個(gè)Applet,顯示一幅圖片。不停地運(yùn)行一個(gè)動(dòng)畫。三、實(shí)驗(yàn)要求:1. 必須編寫成Java Applet程序;2. 能夠通過傳遞參數(shù)控制一種或者幾種圖形的繪制;3.寫出實(shí)驗(yàn)報(bào)告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯(cuò)誤信息提示,并給出解決辦法。(附運(yùn)行界面、源代碼)
26、。四、實(shí)驗(yàn)步驟:1.(第1題)在paint()方法中,繪制init()、start()、paint()、和destroy()方法的執(zhí)行次數(shù)的直方圖。2.(第2題)在HTML文件中添加參數(shù)傳遞的代碼:在init()方法中,調(diào)用getParameter()獲取由HTML傳遞的參數(shù),再按照要求,在paint()方法中調(diào)用Graphics類中drawString()函數(shù)顯示字符串。3.(第3題)在paint()方法中調(diào)用Graphics類中drawString()函數(shù)時(shí),X坐標(biāo)定義成變量(10=X=120),4.(第4題)在init()方法中,根據(jù)指定的位置獲取一系列圖片類對(duì)象放入數(shù)組,再循環(huán)顯示系列
27、圖片就形成動(dòng)畫。5. 運(yùn)行、檢查和調(diào)試 以上各程序。五、課外實(shí)驗(yàn)1.編寫Applet,訪問并顯示指定URL地址處的圖像和聲音資源。2.編寫Applet,訪問并顯示指定URL地址處的一組圖像構(gòu)成的動(dòng)畫。3.編寫Applet,接收用戶輸入的網(wǎng)頁地址,并與程序中事先保存的地址相比較,若存在則打開網(wǎng)頁,并在新打開的瀏覽器窗口顯示*編寫一個(gè)Applet程序,顯示一個(gè)圓心在Applet的中心,半徑從0到100像素不斷變大的綠色球的動(dòng)畫。4.在Applet中畫矩形,要求矩形做上角點(diǎn)坐標(biāo)(20,20),高度為400*200,上下左右邊設(shè)為藍(lán)色、矩形填充色為綠色,并在居中的位置寫上文字“面向?qū)ο蟪绦蛟O(shè)計(jì)”,字體
28、為楷體_gb2312,大小自定。5.自定義橢圓(或圓)的方法,畫一組橢圓(最大半徑200),以圓心處為參考點(diǎn),半徑依次增加2個(gè)像素,圓周的顏色隨機(jī)。6.給定數(shù)組data=1,2,3,4分別畫出圓餅圖、條形圖(寬隨意給定,高代表所占百分比),顏色任意。7.找一幅圖像,顯示在Applet中,要求按原圖大小顯示,再放大或縮小一倍顯示,或者放大顯示右下部的1/4塊實(shí)驗(yàn)七 圖形用戶界面與事件處理機(jī)制(一)一、實(shí)驗(yàn)?zāi)康模?.掌握J(rèn)ava圖形組件和布局管理器的使用;2.掌握使用Java事件處理機(jī)制的使用。3.掌握?qǐng)D形界面的各種控件的使用,如:標(biāo)簽、文本框、按鈕、復(fù)選框、列表框、窗框等。二、實(shí)驗(yàn)內(nèi)容:1.編寫
29、Application程序,在Frame中加入2個(gè)按鈕(Button)和1個(gè)標(biāo)簽(Label),單擊兩個(gè)按鈕,顯示按鈕的標(biāo)簽于Label。2在Applet中加入1個(gè)文本框,1個(gè)文本區(qū),每次在文本框中輸入文本,回車后將文本添加到文本區(qū)的最后一行。3在Applet中加入2個(gè)復(fù)選框,顯示標(biāo)題為“學(xué)習(xí)”和“玩?!保鶕?jù)選擇的情況,分別顯示“玩?!?、“學(xué)習(xí)”、“勞逸結(jié)合”。4在Applet中加入1個(gè)滾 動(dòng)列表框List、1個(gè)下拉列表框Choice和1個(gè)按鈕,點(diǎn)擊按鈕將List中的項(xiàng)目移到Choice組件中,5. 編寫Application程序,在Frame中加入80個(gè)按鈕,分20行4列,用GridLay
30、out布局方式,按鈕背景為黃色(Color.yellow),按鈕文字顏色為紅色(Color.red)。6設(shè)計(jì)一個(gè)簡單計(jì)算器,如下圖所示。在“操作數(shù)”標(biāo)簽右側(cè)的兩個(gè)文本框輸入操作數(shù),當(dāng)單擊操作符,按鈕時(shí),對(duì)兩個(gè)操作數(shù)進(jìn)行運(yùn)算并將結(jié)果填入到“結(jié)果”標(biāo)簽右側(cè)的文本框中。三、實(shí)驗(yàn)要求:1.采用布局管理器進(jìn)行界面的布局;2. 學(xué)會(huì)對(duì)不同的事件用相應(yīng)的事件處理器;3.寫出實(shí)驗(yàn)報(bào)告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯(cuò)誤信息提材示,并給出解決辦法。(附運(yùn)行界面、源代碼)。四、實(shí)驗(yàn)步驟:1運(yùn)用一種或多種布局管理器,繪制出一個(gè)簡單的計(jì)算器;2. 為按鈕注冊(cè)事件監(jiān)聽器,使其點(diǎn)擊按鈕,并在顯示區(qū)域同步顯示當(dāng)前
31、輸入或運(yùn)算結(jié)果;3. 編譯運(yùn)行程序,檢查計(jì)算器的正確性;五、課外實(shí)驗(yàn)1學(xué)生可以視個(gè)人情況完成更復(fù)雜更完善的計(jì)算器功能,通過多種布局管理方法實(shí)現(xiàn)更美觀的界面布局。2編寫Applet程序,在控制按鈕程序中,實(shí)現(xiàn)播放音樂,顯示圖片等操作。3.編寫Java Applet程序,使它在瀏覽器中通過響應(yīng)功能按鈕的點(diǎn)擊事件繪制各種簡單的幾何圖形(矩形、圓形、扇形、多邊形和他們的填充效果),并且能夠通過接收傳遞參數(shù)控制圖形的繪制。4.在Applet中做2個(gè)按鈕,點(diǎn)擊它們,分別畫一個(gè)填充的藍(lán)矩形和粉紅色圓,位置隨機(jī),并統(tǒng)計(jì)每個(gè)按鈕點(diǎn)擊的次數(shù)實(shí)驗(yàn)七 圖形用戶界面與事件處理機(jī)制(二)一、實(shí)驗(yàn)?zāi)康模?.掌握菜單、彈出式
32、菜單設(shè)計(jì)。2.會(huì)處理事件以及設(shè)置輸入對(duì)話框。3.了解對(duì)文本域JTextArea中字符進(jìn)行復(fù)制和粘貼的操作。二、實(shí)驗(yàn)內(nèi)容:1.在窗口中建立菜單和彈出式菜單,”文件”中有”打開”項(xiàng)目,點(diǎn)擊后彈出文件對(duì)話框,在界面中的1個(gè)文本框中顯示打開的文件名。*2. 設(shè)計(jì)一個(gè)JAVA程序模仿記事本(NotePad)的部分功能,界面如下圖。 三、實(shí)驗(yàn)要求:1.學(xué)會(huì)建立菜單和彈出式菜單;2. 學(xué)會(huì)文件對(duì)話框的使用;對(duì)不同的事件用相應(yīng)的事件處理器;3.寫出實(shí)驗(yàn)報(bào)告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯(cuò)誤信息提材示,并給出解決辦法。(附運(yùn)行界面、源代碼)。四、實(shí)驗(yàn)步驟:1.(第1題) 從打開文件對(duì)話框中獲取文件名
33、,將文件名放入文本框。2.(第2題)新建文件時(shí),文本域?yàn)榭?;打開文件和保存文件時(shí)要給出輸入對(duì)話框,輸入相應(yīng)文件名后進(jìn)行操作;選擇退出菜單將退出整個(gè)程序。再對(duì)文本域中選中的字符能夠進(jìn)行復(fù)制和粘貼操作。3.編譯運(yùn)行以上程序五、自做實(shí)驗(yàn):1.利用所學(xué)的Java語言知識(shí),完成一個(gè)實(shí)現(xiàn)秒表功能的Applet程序。它的GUI界面如下所示: 利用所學(xué)的Java語言知識(shí),完成一個(gè)實(shí)現(xiàn)秒表功能的Applet程序。它的GUI界面如下所示:要求該程序能夠完成以下功能:(1) 在界面上方的文本框中,按照小時(shí):分鐘:秒的順序?qū)崟r(shí)顯示系統(tǒng)時(shí)間;(2) 當(dāng)按下界面中間的Current Time:按鈕時(shí),當(dāng)前系統(tǒng)時(shí)間能夠在界
34、面下方的文本框中顯示出來。提示:可以通過調(diào)用java.util.Data類的方法,獲得系統(tǒng)時(shí)間。Data類的接口如下所示,public class Date / 返回當(dāng)前系統(tǒng)時(shí)間的小時(shí)值public String getHours( ) / 返回當(dāng)前系統(tǒng)時(shí)間的分鐘值public String getMintues( ) / 返回當(dāng)前系統(tǒng)時(shí)間的秒鐘值public String getSeconds( ) 2編寫一個(gè)計(jì)算器程序,只有加減乘除功能,當(dāng)作Applet運(yùn)行。3.編寫一個(gè)Applet程序:畫圖要求:界面上有2個(gè)按鈕,一個(gè)為標(biāo)簽為“橢圓”,另一個(gè)為“矩形”,點(diǎn)擊后分別畫紅色的橢圓和藍(lán)色的矩形
35、,其寬度為100、高度為60,左上角頂點(diǎn)坐標(biāo)為(50,50),試寫出完整程序,并且要寫出其對(duì)應(yīng)的HTML文件代碼。實(shí)驗(yàn)八 Java的異常處理一、實(shí)驗(yàn)?zāi)康模?理解 java 語言中獨(dú)特的異常處理機(jī)制;2掌握異常處理方法;3正確地使用捕獲異常和聲明拋棄異常的兩種異常處理的方法;4了解自定義異常類的使用; 5理解拋出異常和聲明拋出異常的區(qū)別與聯(lián)系;二、實(shí)驗(yàn)內(nèi)容:1從命令行得到5個(gè)整數(shù),放入一整型數(shù)組,然后打印輸出,要求:如果輸入數(shù)據(jù)不為整數(shù),要捕獲Integer.parseInt()產(chǎn)生的異常,顯示“請(qǐng)輸入整數(shù)”,捕獲輸入?yún)?shù)不足5個(gè)的異常(數(shù)組越界),顯示“請(qǐng)輸入至少5個(gè)整數(shù)”。 2寫一個(gè)方法vo
36、id sanjiao(int a,int b,int c),判斷三個(gè)參數(shù)是否能構(gòu)成一個(gè)三角形,如果不能則拋出異常IllegalArgumentException,顯示異常信息a,b,c+”不能構(gòu)成三角形”,如果可以構(gòu)成則顯示三角形三個(gè)邊長,在主方法中得到命令行輸入的三個(gè)整數(shù),調(diào)用此方法,并捕獲異常。3.自定義類Sanj,其中有成員 x,y,z,作為三邊長,構(gòu)造方法Sanj(a,b,c)分別給x,y,z賦值,方法求面積getArea和顯示三角形信息(三個(gè)邊長)showInfo,這2個(gè)方法中當(dāng)三條邊不能構(gòu)成一個(gè)三角形時(shí)要拋出自定義異常NotSanjiaoException,否則顯示正確信息。在另外
37、一個(gè)類中的主方法中構(gòu)造一個(gè)Sanj對(duì)象(三邊為命令行輸入的三個(gè)整數(shù)),顯示三角形信息和面積,要求捕獲異常。三、實(shí)驗(yàn)要求:1. 通過實(shí)驗(yàn)掌握捕獲異常和聲明拋棄異常的兩種異常處理的方法;2. 程序必須能夠捕獲Integer.parseInt()產(chǎn)生的異常并作相應(yīng)的處理;3. 程序必須能夠?qū)⑻幚淼南鄳?yīng)的信息輸出出來;4. 寫出實(shí)驗(yàn)報(bào)告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯(cuò)誤信息提材示,并給出解決辦法。(附運(yùn)行界面、源代碼)。四、實(shí)驗(yàn)步驟:1. (第1題) 使用try.catch. finally語句對(duì)Integer.parseInt()產(chǎn)生的異常進(jìn)行捕獲處理;2. (第2題) 定義方法void
38、 sanjiao(int a,int b,int c)中,不符合條件則拋出異常(if a+b=c(或a+c=b,b+c=a) then throw new IllegalArgumentException(),),再定義main方法,調(diào)用此方法,用try.catch. finally語句并捕獲異常;3. (第3題) 定義三角形類及相應(yīng)的方法, 在定義的方法中對(duì)不符合條件則拋出異常(如上題) ,再定義main方法,對(duì)正確的數(shù)據(jù)輸出正確信息,否則捕獲異常;五、課外實(shí)驗(yàn)1.參考下面的程序,試修改程序,捕獲相關(guān)異常,使得程序能正常運(yùn)行。提示:用錯(cuò)誤數(shù)據(jù)測試,即可得到異常類名,運(yùn)行時(shí)主方法參數(shù)輸入 ab
39、c 測試;public class StringIndexOutOfpublic static void main(String args)int aa=Integer.parseInt(args0); System.out.println(“字符串索引越界異?!?;String str=args0;System.out.println(“第四個(gè)字符為 ”+str.charAt(3);System.out.println(“平方為”+aa*aa);2. 課本練習(xí)實(shí)驗(yàn)九 Java多線程 一、實(shí)驗(yàn)?zāi)康模?.熟悉利用Thread類建立多線程方法。2.熟悉利用Thread接口建立多線程方法。二、實(shí)驗(yàn)內(nèi)
40、容:1. 閱讀下列程序,分析并上機(jī)檢驗(yàn)其功能。class DelayThread exends Thread private static int count=0; private int no; private int delay; public DelayThread() count+; no=count; public void run() try for (int i=0;i10;i+) delay=(int)(Math.random()*5000); sleep(delay); System.out.println(“Thread ”+no+” with a delay ”+dela
41、y); catch(InterruptedException e)public class MyThread public static void main(String args) DelayThread thread1=new DelayThread(); DelayThread thread2=new DelayThread(); thread1.start(); thread2.start(); try Thread.sleep(1000);catch(InterruptedException e) System.out.println(“Thread wrong”);2.將上列程序利
42、用Runnable接口改寫,并上機(jī)檢驗(yàn)。3.利用多線程 編寫一個(gè)模擬時(shí)鐘(AWT程序、Runnable接口),有時(shí)分秒針編寫一個(gè)應(yīng)用程序,創(chuàng)建三個(gè)線程分別顯示各自的時(shí)間。三、實(shí)驗(yàn)要求:1. 通過實(shí)驗(yàn)掌握Thread 、Runnable使用方法;2. 程序必須能夠?qū)崿F(xiàn)多線程;3. 程序必須能夠完成題目要求;4. 寫出實(shí)驗(yàn)報(bào)告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯(cuò)誤信息提材示,并給出解決辦法。(附運(yùn)行界面、源代碼)。四、實(shí)驗(yàn)步驟:1.首先分析程序功能,再通過上機(jī)運(yùn)行驗(yàn)證自己的分析,從而掌握通過Thread類建立多線程的方法。2.通過將擴(kuò)展Thread類建立多線程的方法改為利用Runnable
43、接口的方法,掌握通過Runnable接口建立多線程的方法。五、課外實(shí)驗(yàn)課本:P262 12,13,14實(shí)驗(yàn)十 輸入輸出流一、實(shí)驗(yàn)?zāi)康模菏煜ava的文件讀寫機(jī)制,練習(xí)輸入輸出流的使用。二、實(shí)驗(yàn)內(nèi)容:1.鍵盤輸入10個(gè)整數(shù),從小到大進(jìn)行排序。2接收鍵盤輸入的字符串,用FileInputStream類將字符串寫入文件,用FileOutputStream類讀出文件內(nèi)容顯示在屏幕上。3將一個(gè)文本文件的內(nèi)容按行讀出,每讀出一行就順序加上行號(hào),并寫入到另一個(gè)文件中。三、實(shí)驗(yàn)要求:1. 通過實(shí)驗(yàn)掌握文件輸入輸出流的使用方法;2. 程序必須能夠從鍵盤接收字符串并保存在文件中;3. 程序必須能夠讀出文件內(nèi)容顯示在屏幕上;4. 寫出實(shí)驗(yàn)報(bào)告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯(cuò)誤信息提材示,并給出解決辦法。(附運(yùn)行界面、源代碼)。四、實(shí)驗(yàn)步驟:1(第1題)接收鍵盤輸入字符串,再轉(zhuǎn)化整數(shù);2. (第2、3題)編寫主
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 制作兒童課件教學(xué)課件
- 目送課件底板教學(xué)課件
- 蘑菇屋課件教學(xué)課件
- 卡通游戲課件教學(xué)課件
- 2024年度云計(jì)算平臺(tái)廣告業(yè)務(wù)合同
- 2024年度八寶山殯儀館鮮花制品物流配送服務(wù)合同
- 2024年度委托加工協(xié)議(定制產(chǎn)品)
- 2024年塑料模具生產(chǎn)與交付合同
- 2024年度健康醫(yī)療服務(wù)合同服務(wù)細(xì)節(jié)
- 2024供水供電合同
- 人力資源管理師(三級(jí))課件合集
- 2024貴州省榕江縣事業(yè)單位招聘100人歷年高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 綿陽市高中2022級(jí)(2025屆)高三第一次診斷性考試(一診)物理試卷
- 標(biāo)志設(shè)計(jì) 課件 2024-2025學(xué)年人教版(2024)初中美術(shù)七年級(jí)上冊(cè)
- 校園班級(jí)大隊(duì)委競選內(nèi)容課件演示
- 2024版合同范本之711便利店加盟合同
- 醫(yī)療機(jī)構(gòu)工作人員廉潔從業(yè)九項(xiàng)準(zhǔn)則
- 1《觀潮》(課件)語文四年級(jí)上冊(cè)統(tǒng)編版
- 部編版小學(xué)二年級(jí)道德與法治上冊(cè) 第四單元 我們生活的地方 學(xué)歷案設(shè)計(jì)
- 人教版九年級(jí)化學(xué)電子版教材(全冊(cè))-課件資料
- 2024年秋國開形策大作業(yè)【附3份答案】:中華民族現(xiàn)代文明有哪些鮮明特質(zhì)?建設(shè)中華民族現(xiàn)代文明的路徑是什么
評(píng)論
0/150
提交評(píng)論