《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程實(shí)驗(yàn)指導(dǎo)書2.doc_第1頁
《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程實(shí)驗(yàn)指導(dǎo)書2.doc_第2頁
《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程實(shí)驗(yàn)指導(dǎo)書2.doc_第3頁
《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程實(shí)驗(yàn)指導(dǎo)書2.doc_第4頁
《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程實(shí)驗(yàn)指導(dǎo)書2.doc_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

面向?qū)ο蟪绦蛟O(shè)計(jì)課程實(shí)驗(yàn)指導(dǎo)書合肥學(xué)院計(jì)算機(jī)系實(shí)驗(yàn)一 Java開發(fā)環(huán)境的安裝與配置,熟悉Java程序結(jié)構(gòu)一、實(shí)驗(yàn)?zāi)康模?. 掌握J(rèn)DK的安裝步驟。2. 理解環(huán)境變量PATH, CLASSPATH的作用,以及它們的設(shè)置方法。3. 熟悉Editplus(或notePad,JCreator)編輯環(huán)境,編寫簡單的程序,并編譯和執(zhí)行。二、實(shí)驗(yàn)內(nèi)容:熟悉JDK的安裝和配置,學(xué)習(xí)如何編寫并運(yùn)行簡單的Application程序和Applet程序(能輸出一條簡單的問候信息);三、實(shí)驗(yàn)要求:1. 能正確地安裝JDK2. 熟悉環(huán)境變量Path, Classpath設(shè)置方法,熟悉編輯環(huán)境3. 調(diào)試程序、編譯,運(yùn)行后得到正確的結(jié)果4. 寫出實(shí)驗(yàn)報告,要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提示,并給出解決辦法。四、實(shí)驗(yàn)步驟:1從 上下載最新版本的JDK,并安裝。2設(shè)置環(huán)境變量PATH, CLASSPATH, 使得Java程序能正確編譯和執(zhí)行。3在Editplus(或 Textpad)環(huán)境下編寫一個HelloWorld.java程序,(1)在主方法static public void main(String args)中調(diào)用System.out.println()方法,使程序輸出一條問候信息;(2) 編譯運(yùn)行程序,觀察運(yùn)行情況和輸出結(jié)果。(使用JDK環(huán)境,調(diào)用javac.exe和java.exe編譯和執(zhí)行程序)實(shí)驗(yàn)二 Java語言基礎(chǔ)一、實(shí)驗(yàn)?zāi)康模菏煜ava基本語法,基本數(shù)據(jù)類型,各種運(yùn)算符及表達(dá)式的使用,掌握運(yùn)算符優(yōu)先級,熟悉使用Java的選擇語句,循環(huán)語句。二、 實(shí)驗(yàn)內(nèi)容:1. 輸出100以內(nèi)的所有素?cái)?shù)。提示: 逐個判斷小于a的每個正整數(shù)x,第二重循環(huán)針對x,判斷其是否是質(zhì)數(shù)。2.編寫程序,分別用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)報告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提成示,并給出解決辦法。四、實(shí)驗(yàn)步驟:1.編寫主類;2.在static public void main(String args)方法中加入實(shí)現(xiàn)要求功能的代碼。3.編譯運(yùn)行程序,觀察輸出結(jié)果是否正確。五、自主實(shí)驗(yàn)(選1題完成實(shí)驗(yàn)報告)1. 將所輸入之正整數(shù),以二、八、十六進(jìn)制表示出來。提示: 可寫三個方法分別計(jì)算輸出二、八、十六進(jìn)制表示。2用戶輸入的一個分?jǐn)?shù)(分別輸入分子和分母)進(jìn)行約分,并且輸出約分后的分?jǐn)?shù)(分別輸出分子和分母)。例如輸入分子為6并且分母為12,那么輸出結(jié)果為1/2。3編程,計(jì)算e=1+1/1! +2/2! +n/n!。要求e值精確到小數(shù)點(diǎn)第5位。實(shí)驗(yàn)三 類和對象一、實(shí)驗(yàn)?zāi)康模赫莆認(rèn)ava類的結(jié)構(gòu)、類的定義、方法和屬性的定義以及對象的實(shí)現(xiàn);掌握類及其成員修飾符的使用;掌握構(gòu)造函數(shù)的使用;方法的參數(shù)傳遞和返回值的用法;掌握類變量與實(shí)例變量,以及類方法與實(shí)例方法的區(qū)別。二、實(shí)驗(yàn)內(nèi)容:1、定義一個學(xué)生類(Student),屬性有private的名字(name), public的年齡(age),專業(yè)(specialty)和封裝name屬性的方法:setName(),getName(),getspecialty()編寫Application,創(chuàng)建一個學(xué)生對象,設(shè)置name和age屬性值,然后調(diào)用一個方法(此方法將對象作為參數(shù)傳遞,在方法中打印出學(xué)生的名字name和年齡age)。(學(xué)生類僅包含靜態(tài)成員變量和方法。)2、定義一個復(fù)數(shù)(z=x+iy)類Complex,包含: 兩個屬性:實(shí)部x和虛部y 默認(rèn)構(gòu)造函數(shù) Complex(),設(shè)置x=0,y=0 構(gòu)造函數(shù):Complex(int i,int j)顯示復(fù)數(shù)的方法:showComp()將其顯示為如: 5+8i或5-8i 的形式。求兩個復(fù)數(shù)的和的方法:(參數(shù)是兩個復(fù)數(shù)類對象,返回值是復(fù)數(shù)類對象)public Complex addComp(Complex C1,Complex C2) 求兩個復(fù)數(shù)的差的方法:(參數(shù)是兩個復(fù)數(shù)類對象,返回值是復(fù)數(shù)類對象)public Complex subComp(Complex C1,Complex C2)求兩個復(fù)數(shù)的乘積的方法:(參數(shù)是兩個復(fù)數(shù)類對象,返回值是復(fù)數(shù)類對象,新復(fù)數(shù)實(shí)部=兩復(fù)數(shù)實(shí)部乘積-兩復(fù)數(shù)虛部乘積,新復(fù)數(shù)虛部=兩復(fù)數(shù)實(shí)部與虛部交叉乘積之和,)public Complex multiComp(Complex C1,Complex C2)比較兩個復(fù)數(shù)是否相等的方法(參數(shù)是兩個復(fù)數(shù)類對象,返回值是boolean類型)public boolean equalComp(Complex C1,Complex C2) 在Application中測試該類的方法,實(shí)部x和虛部y可由main方法參數(shù)提供輸入。三、實(shí)驗(yàn)要求:1. 正確地定義類、方法和屬性;2. 學(xué)會方法的參數(shù)傳遞和返回值的用法;3. 熟練使用類及其成員修飾符4.使用構(gòu)造函數(shù)創(chuàng)建類的對象;5. 類變量與實(shí)例變量,以及類方法與實(shí)例方法的使用6.程序應(yīng)包括各個被調(diào)用方法的執(zhí)行結(jié)果的顯示。7.寫出實(shí)驗(yàn)報告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提示,并給出解決辦法。(附運(yùn)行界面、源代碼)。四、實(shí)驗(yàn)步驟:1(第1題)定義一個學(xué)生類(Student)及它的屬性和方法;定義主類和main(),在main()方法中創(chuàng)建學(xué)生對象,并通過對象調(diào)用它的方法setName(),getName(),輸出學(xué)生的名字name和年齡age。2. (第2題)定義一個復(fù)數(shù)(z=x+iy)類Complex,及它的屬性、方法和構(gòu)造函數(shù);定義主類和main()方法,在main()方法中創(chuàng)建兩個復(fù)數(shù)類Complex對象,并通過復(fù)數(shù)類對象調(diào)用它們的屬性和方法,輸出方法執(zhí)行結(jié)果。五、自主實(shí)驗(yàn)(選1題完成實(shí)驗(yàn)報告)1. 構(gòu)造一個類來描述屏幕上的一個點(diǎn),該類的構(gòu)成包括點(diǎn)的x和y兩個坐標(biāo),以及一些對點(diǎn)進(jìn)行的操作,包括:取得點(diǎn)的坐標(biāo)值,對點(diǎn)的坐標(biāo)進(jìn)行賦值,編寫應(yīng)用程序生成該類的對象并對其進(jìn)行操作。2. 編寫實(shí)現(xiàn):有一個三角形類Triangle,成員變量有底邊x和另一條邊y,和兩邊的夾角a(0a180),a為靜態(tài)成員,成員方法有兩個:求面積s(無參數(shù))和修改角度(參數(shù)為角度)。3. 編寫實(shí)現(xiàn): 構(gòu)造函數(shù)為 Triangle(int xx,int yy,int aa) 參數(shù)分別為x,y,a賦值 在main方法中構(gòu)造兩個對象,求出其面積,然后使用修改角度的方法,修改兩邊的夾角,再求出面積值。(提示:求高的方法 h=y*Math.sin(a) )注意:構(gòu)造方法用于對成員變量初始化,無參數(shù)的構(gòu)造方法將成員變量初始化為0值。4、定義一個類Point,代表一個點(diǎn),public屬性有x和y,方法有顯示點(diǎn)坐標(biāo) show(),構(gòu)造函數(shù)有兩個參數(shù)分別給x,y賦值,在main方法中構(gòu)造兩個對象,再創(chuàng)建一方法(getMiddle)為取兩個點(diǎn)構(gòu)成線段的中點(diǎn)的坐標(biāo),參數(shù)為2個點(diǎn)對象,調(diào)用此方法后得到一個新的點(diǎn),編寫Application,顯示該對象的坐標(biāo)值。28實(shí)驗(yàn)四 java繼承與多態(tài)一、實(shí)驗(yàn)?zāi)康模赫莆绽^承、多態(tài)的概念與實(shí)現(xiàn)方法;掌握包和接口的定義和使用方法;掌握J(rèn)AVA語言實(shí)現(xiàn)多繼承的途徑;二、實(shí)驗(yàn)內(nèi)容:1分別編寫兩個類Point2D,Point3D來表示二維空間和三維空間的點(diǎn),使之滿足下列要求:(1)Point2D有兩個整型成員變量x, y (分別為二維空間的X,Y方向坐標(biāo)),Point2D的構(gòu)造方法要實(shí)現(xiàn)對其成員變量x, y的初始化。(2)Point2D有一個void型成員方法offset(int a, int b),它可以實(shí)現(xiàn)Point2D的平移。(3)Point3D是Point2D的直接子類,它有有三個整型成員變量x,y,z (分別為三維空間的X,Y,Z方向坐標(biāo)),Point3D有兩個構(gòu)造方法:Point3D(int x,int y,int z)和Point3D(Point2D p,int z),兩者均可實(shí)現(xiàn)對Point3D的成員變量x, y,z的初始化。(4)Point3D有一個void型成員方法offset(int a, int b,int c),該方法可以實(shí)現(xiàn)Point3D的平移。(5)在Point3D中的主函數(shù)main()中實(shí)例化兩個Point2D的對象p2d1,p2d2,打印出它們之間的距離,再實(shí)例化兩個Point2D的對象p3d1,p3d2,打印出他們之間的距離。2定義抽象類Shape,抽象方法為showArea(),求出面積并顯示,定義矩形類Rectangle,正方形類Square,圓類 Circle,根據(jù)各自的屬性,用showArea方法求出各自的面積,在main方法中構(gòu)造3個對象,調(diào)用showArea方法。定義接口DiagArea,其中包含方法double getDiagonal()求對角線長, double getArea()求面積,定義一個矩形類,實(shí)現(xiàn)此接口,并自行擴(kuò)充成員變量和方法,定義一個正方形類繼承矩形類(如矩形有長w和寬h,正方形有邊x,并有相應(yīng)的構(gòu)造函數(shù),有一個方法中一次直接顯示邊長、面積和對角線長),在另一類中的主方法里使用測試該類。三、實(shí)驗(yàn)要求:1. 能實(shí)現(xiàn)類的繼承關(guān)系;2. 用多種方法創(chuàng)建各個類的對象;3. 程序應(yīng)包括各個被調(diào)用方法的執(zhí)行結(jié)果的顯示。4. 寫出實(shí)驗(yàn)報告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提示,并給出解決辦法。(附運(yùn)行界面、源代碼)。四、實(shí)驗(yàn)步驟:1(第1題)定義Point2D,及定義它的屬性和方法; 定義子類Point3D,及定義它的屬性和方法;在Point3D中的主函數(shù)main()中實(shí)例化兩個Point2D的對象,并通過這兩個對象調(diào)用它們的屬性和方法,輸出方法執(zhí)行結(jié)果。2(第2題)定義抽象類Shape,抽象方法為showArea(),再定義矩形類Rectangle,正方形類Square,圓類 Circle,和各自的屬性。定義主類、主方法,在main方法中構(gòu)造3個對象,調(diào)用showArea方法;定義接口DiagArea,其中包含方法double getDiagonal(),在主main方法中輸出方法執(zhí)行結(jié)果。五、自主實(shí)驗(yàn)(選1題完成實(shí)驗(yàn)報告)1、定義一個描述人的基本類,該類包括人的性別和出生日期兩個數(shù)據(jù)成員,以及設(shè)置和獲取這些屬性值的方法成員;再定義一個大學(xué)生類,使大學(xué)生類具有人的所有屬性外,還具有姓名、學(xué)號,大學(xué)入學(xué)成績,籍貫屬性以及設(shè)置和獲取這些屬性值的方法成員;編寫完整的程序,完成一個具有班級學(xué)生信息管理功能的程序。2、創(chuàng)建一個接口Shape,其中有抽象方法area,類Circle 、Rectangle實(shí)現(xiàn)area方法計(jì)算其面積并返回。又有Star實(shí)現(xiàn)Shape的area方法,其返回值是0,Star類另有一返回值boolean型方法isStar;在main方法里創(chuàng)建一個Vector,根據(jù)隨機(jī)數(shù)的不同向其中加入Shape的不同子類對象(如是1,生成Circle對象;如是2,生成Rectangle對象;如是3,生成Star對象)。然后將Vector中元素依次取出,判斷其是否為Star類。如是返回其是個Star。否則返回其面積。3.學(xué)校中有老師和學(xué)生兩類人,而在職研究生既是老師又是學(xué)生,對學(xué)生的管理和對教師的管理在他們身上都有體現(xiàn)。1)設(shè)計(jì)兩個信息管理接口StudentManageInterface和TeacherManageInterface。其中,StudentInterface接口包括setFee()方法和getFee()方法,分別用于設(shè)置和獲取學(xué)生的學(xué)費(fèi);TeacherInterface接口包括setPay()方法和getPay()方法,分別用于設(shè)置和獲取教師的工資2) 定義一個研究生類Graduate,實(shí)現(xiàn)StudentInterface接口和TeacherInterface接口,它定義的成員變量有name(姓名)、sex(性別)、age(年齡)、fee(每學(xué)期學(xué)費(fèi))、pay(月工資)。3) 創(chuàng)建一個姓名為“zhangsan”的研究生,統(tǒng)計(jì)他的年收入和學(xué)費(fèi),如果收入減去學(xué)費(fèi)不足2000元,則輸出“provide a loan”(需要貸款)信息。提示:1)定義兩個接口,分別在其中申明兩個方法。2)定義主類Graduate,實(shí)現(xiàn)這兩個接口。3)定義主類的成員變量,和構(gòu)造方法。 4)給出四個接口方法的實(shí)現(xiàn)。5)給出一個計(jì)算是否需要貸款的方法,在里面統(tǒng)計(jì)年收入和學(xué)費(fèi),并輸出是否需要貸款的信息。6)寫main方法。在其中創(chuàng)建一個姓名為“zhangsan”的研究生,調(diào)用計(jì)算是否需要貸款的方法。4書后練習(xí)實(shí)驗(yàn)五 數(shù)組與字符串 一、實(shí)驗(yàn)?zāi)康模赫莆諗?shù)組的定義和使用方法;熟悉數(shù)組的排序、查找等算法。掌握字符串的使用方法。二、實(shí)驗(yàn)內(nèi)容:1. 編程,接受用戶輸入一段英文文字后,輸出其中的字符數(shù)、單詞數(shù)和句子數(shù)(設(shè)句子以“?”、“!”、“.”結(jié)束)。2 .編程實(shí)現(xiàn)冒泡排序(數(shù)據(jù)結(jié)構(gòu))3聲明一個數(shù)組,保存一個學(xué)生的數(shù)學(xué)、語文、英語、物理、化學(xué)等課程的成績,編寫一個程序,計(jì)算5門課程的平均成績,精確到0.1分,成績值從鍵盤錄入。(學(xué)生成績管理系統(tǒng))三、實(shí)驗(yàn)要求:1.熟練對象數(shù)組及創(chuàng)建初始化和未初始化的數(shù)組的方法;2. 熟悉從命令行參數(shù)的使用;3. 熟悉String 和StringBuffer的使用方法4. 熟悉常用類庫的使用;5. 寫出實(shí)驗(yàn)報告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提示,并給出解決辦法。(附運(yùn)行界面、源代碼)。四、實(shí)驗(yàn)步驟:1. (第1題)利用String類的各種方法,分別判斷字符是否為“?”、“!”、“.”,用3個計(jì)數(shù)器分別計(jì)數(shù)。2 (第2題) 從命令行輸入10個數(shù)到數(shù)組,實(shí)現(xiàn)冒泡排序(數(shù)據(jù)結(jié)構(gòu))3. (第3題) 定義一數(shù)組,存入數(shù)學(xué)、語文、英語、物理、化學(xué)等課程的成績,然后計(jì)算平均成績,精確到0.1分。五、自主實(shí)驗(yàn)(選2題完成實(shí)驗(yàn)報告)1.求Fibonacci序列的前n項(xiàng),要求:在main方法中定義一數(shù)組,數(shù)組的長度n為一final定義的常量,使用一單獨(dú)方法,無返回值,參數(shù)為一數(shù)組,在方法中給數(shù)組賦予序列的值,在main方法中調(diào)用該方法,然后打印結(jié)果數(shù)組的內(nèi)容2.聲明一個矩陣類Matrix,成員變量是一個二維數(shù)組,設(shè)數(shù)組元素類型為int,請?jiān)O(shè)計(jì)方法:(1)構(gòu)造方法:Matrix() /構(gòu)造一個10X10個元素的矩陣,沒有數(shù)據(jù)Matrix(int n,int m) /構(gòu)造一個nXm個元素的矩陣,數(shù)據(jù)由隨機(jī)數(shù)產(chǎn)生Matrix(int table) /以一個整型的二維數(shù)組構(gòu)造一個矩陣要求使用 this(2) 實(shí)例方法: public void output() /輸出Matrix類中數(shù)組的元素值public void transpose() /輸出一個矩陣的轉(zhuǎn)置矩陣2.隨機(jī)數(shù)求法:Math.random( )返回0-1的小數(shù),由上題中的Matrix類派生出正方形Square類,在構(gòu)造方法中調(diào)用父類的構(gòu)造方法(使用super)。3.編程 ,完成以下功能:(1)聲明一個名為s的String對象,并使它的內(nèi)容是“My name is Carrol”;(2)打印整個字符串;(3)打印字符串的長度;(4)打印字符串的第一個字符;(5)打印最后一個字符;(6)打印字符串的第一個單詞。*4編寫一個程序,用散列表實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)的存儲和查詢,并將若干個查詢結(jié)果存放到一個向量中,通過循環(huán)將向量對象內(nèi)容逐個輸出。*5.從命令行讀入一浮點(diǎn)數(shù)值,將其轉(zhuǎn)化為中文金額的大寫方式,如123.45,轉(zhuǎn)化為:壹佰貳拾叁元肆角伍分,中間有多個0只要一個零。*6.編程實(shí)現(xiàn)將數(shù)組中的值按逆序重新存放,例如:原來順序是9、7、4、 6,要求改為 6、4、7、9。7.編寫程序,完成打印輸出楊輝三角形(要求輸出的格式應(yīng)在屏幕的居中位置)。楊輝三角形的格式如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 *8.將命令行第一個參數(shù)每個字符放入一字符數(shù)組,然后逆序輸出9.編寫Application程序, 從命令行參數(shù)輸入10個整數(shù)并保存在數(shù)組中,求數(shù)組中最大、最小、數(shù)據(jù)的和、平均值。10.從命令行參數(shù)一日期,如“2005-5-6”,計(jì)算與今日之間的天數(shù)間隔。11.折半查找(前提:數(shù)據(jù)已按一定的規(guī)則(升序或降序)排列好 實(shí)驗(yàn)六 圖形用戶界面與事件處理機(jī)制(一)一、實(shí)驗(yàn)?zāi)康模赫莆認(rèn)ava圖形Swing組件和布局管理器的使用;掌握使用Java事件處理機(jī)制的使用。掌握圖形界面的各種控件的使用,如:標(biāo)簽、文本框、按鈕、復(fù)選框、列表框、窗框等。二、實(shí)驗(yàn)內(nèi)容:1.編寫Application程序,在JFrame中加入2個按鈕(JButton)和1個標(biāo)簽(Label),單擊兩個按鈕,顯示按鈕的標(biāo)簽于Label。2在JApplet中加入1個文本框,1個文本區(qū),每次在文本框中輸入文本,回車后將文本添加到文本區(qū)的最后一行。3設(shè)計(jì)一個簡單計(jì)算器,如下圖所示。在“操作數(shù)”標(biāo)簽右側(cè)的兩個文本框輸入操作數(shù),當(dāng)單擊操作符,按鈕時,對兩個操作數(shù)進(jìn)行運(yùn)算并將結(jié)果填入到“結(jié)果”標(biāo)簽右側(cè)的文本框中。三、實(shí)驗(yàn)要求:1.采用布局管理器進(jìn)行界面的布局;2. 學(xué)會對不同的事件用相應(yīng)的事件處理器;3.寫出實(shí)驗(yàn)報告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提材示,并給出解決辦法。(附運(yùn)行界面、源代碼)。四、實(shí)驗(yàn)步驟:1運(yùn)用一種或多種布局管理器,繪制出一個簡單的計(jì)算器;2. 為按鈕注冊事件監(jiān)聽器,使其點(diǎn)擊按鈕,并在顯示區(qū)域同步顯示當(dāng)前輸入或運(yùn)算結(jié)果;3. 編譯運(yùn)行程序,檢查計(jì)算器的正確性;五、自做實(shí)驗(yàn)(選2題完成實(shí)驗(yàn)報告)1學(xué)生可以視個人情況完成更復(fù)雜更完善的計(jì)算器功能,通過多種布局管理方法實(shí)現(xiàn)更美觀的界面布局。2編寫JApplet程序,在控制按鈕程序中,實(shí)現(xiàn)播放音樂,顯示圖片等操作。3.編寫Java JApplet程序,使它在瀏覽器中通過響應(yīng)功能按鈕的點(diǎn)擊事件繪制各種簡單的幾何圖形(矩形、圓形、扇形、多邊形和他們的填充效果),并且能夠通過接收傳遞參數(shù)控制圖形的繪制。4.在JApplet中做2個按鈕,點(diǎn)擊它們,分別畫一個填充的藍(lán)矩形和粉紅色圓,位置隨機(jī),并統(tǒng)計(jì)每個按鈕點(diǎn)擊的次數(shù)5在JApplet中加入2個復(fù)選框,顯示標(biāo)題為“學(xué)習(xí)”和“玩?!保鶕?jù)選擇的情況,分別顯示“玩?!薄ⅰ皩W(xué)習(xí)”、“勞逸結(jié)合”。6在JApplet中加入1個滾 動列表框JList、1個下拉列表框JChoice和1個按鈕,點(diǎn)擊按鈕將List中的項(xiàng)目移到Choice組件中,7. 編寫Application程序,在JFrame中加入80個按鈕,分20行4列,用GridLayout布局方式,按鈕背景為黃色(Color.yellow),按鈕文字顏色為紅色(Color.red)。實(shí)驗(yàn)七 圖形用戶界面與事件處理機(jī)制(二)(自學(xué))一、實(shí)驗(yàn)?zāi)康模赫莆詹藛?、彈出式菜單設(shè)計(jì)。會處理事件以及設(shè)置輸入對話框。了解對文本域JTextArea中字符進(jìn)行復(fù)制和粘貼的操作。二、實(shí)驗(yàn)內(nèi)容:1.在窗口中建立菜單和彈出式菜單,”文件”中有”打開”項(xiàng)目,點(diǎn)擊后彈出文件對話框,在界面中的1個文本框中顯示打開的文件名。*2. 設(shè)計(jì)一個JAVA程序模仿記事本(NotePad)的部分功能,界面如下圖。 三、實(shí)驗(yàn)要求:1.學(xué)會建立菜單和彈出式菜單;2. 學(xué)會文件對話框的使用;對不同的事件用相應(yīng)的事件處理器;3.寫出實(shí)驗(yàn)報告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提材示,并給出解決辦法。(附運(yùn)行界面、源代碼)。四、實(shí)驗(yàn)步驟:1.(第1題) 從打開文件對話框中獲取文件名,將文件名放入文本框。2.(第2題)新建文件時,文本域?yàn)榭眨淮蜷_文件和保存文件時要給出輸入對話框,輸入相應(yīng)文件名后進(jìn)行操作;選擇退出菜單將退出整個程序。再對文本域中選中的字符能夠進(jìn)行復(fù)制和粘貼操作。3. 編譯運(yùn)行以上程序五、自做實(shí)驗(yàn):1.利用所學(xué)的Java語言知識,完成一個實(shí)現(xiàn)秒表功能的Applet程序。它的GUI界面如下所示: 利用所學(xué)的Java語言知識,完成一個實(shí)現(xiàn)秒表功能的Applet程序。它的GUI界面如下所示:要求該程序能夠完成以下功能:(1) 在界面上方的文本框中,按照小時:分鐘:秒的順序?qū)崟r顯示系統(tǒng)時間;(2) 當(dāng)按下界面中間的Current Time:按鈕時,當(dāng)前系統(tǒng)時間能夠在界面下方的文本框中顯示出來。提示:可以通過調(diào)用java.util.Data類的方法,獲得系統(tǒng)時間。Data類的接口如下所示,public class Date / 返回當(dāng)前系統(tǒng)時間的小時值public String getHours( ) / 返回當(dāng)前系統(tǒng)時間的分鐘值public String getMintues( ) / 返回當(dāng)前系統(tǒng)時間的秒鐘值public String getSeconds( ) 2編寫一個計(jì)算器程序,只有加減乘除功能,當(dāng)作Applet運(yùn)行。3.編寫一個Applet程序:畫圖要求:界面上有2個按鈕,一個為標(biāo)簽為“橢圓”,另一個為“矩形”,點(diǎn)擊后分別畫紅色的橢圓和藍(lán)色的矩形,其寬度為100、高度為60,左上角頂點(diǎn)坐標(biāo)為(50,50),試寫出完整程序,并且要寫出其對應(yīng)的HTML文件代碼。實(shí)驗(yàn)八 Applet類及應(yīng)用(自學(xué))一、實(shí)驗(yàn)?zāi)康模赫莆誂pplet的程序結(jié)構(gòu)和運(yùn)行方式;掌握從html文檔向Java Applet傳遞參數(shù)的方法;了解Applet程序的生命周期;掌握在Applet中對字體、顏色、播放聲音、顯示圖像和動畫控制方法;二、實(shí)驗(yàn)內(nèi)容:1.編寫Applet程序,改變applet窗口大小,使其最大化、最小化,查看init()、start()、paint()、和destroy()方法的執(zhí)行情況(執(zhí)行順序和執(zhí)行次數(shù))。3編寫Applet(大小140*60),其背景色為藍(lán)色,畫一個長方形(其填充色為pink,各邊離邊小于10像素)和一個在填充的長方形中左右移動的小球(半徑15)。4. 實(shí)現(xiàn)一個Applet,顯示一幅圖片。不停地運(yùn)行一個動畫。三、實(shí)驗(yàn)要求:1. 必須編寫成Java Applet程序;2. 能夠通過傳遞參數(shù)控制一種或者幾種圖形的繪制;3.寫出實(shí)驗(yàn)報告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提示,并給出解決辦法。(附運(yùn)行界面、源代碼)。四、實(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ù)時,X坐標(biāo)定義成變量(10=X=120),4.(第4題)在init()方法中,根據(jù)指定的位置獲取一系列圖片類對象放入數(shù)組,再循環(huán)顯示系列圖片就形成動畫。5. 運(yùn)行、檢查和調(diào)試 以上各程序。五、自做實(shí)驗(yàn)1.編寫Applet,訪問并顯示指定URL地址處的圖像和聲音資源。2.編寫Applet,訪問并顯示指定URL地址處的一組圖像構(gòu)成的動畫。3.編寫Applet,接收用戶輸入的網(wǎng)頁地址,并與程序中事先保存的地址相比較,若存在則打開網(wǎng)頁,并在新打開的瀏覽器窗口顯示*編寫一個Applet程序,顯示一個圓心在Applet的中心,半徑從0到100像素不斷變大的綠色球的動畫。4.在Applet中畫矩形,要求矩形做上角點(diǎn)坐標(biāo)(20,20),高度為400*200,上下左右邊設(shè)為藍(lán)色、矩形填充色為綠色,并在居中的位置寫上文字“面向?qū)ο蟪绦蛟O(shè)計(jì)”,字體為楷體_gb2312,大小自定。5.自定義橢圓(或圓)的方法,畫一組橢圓(最大半徑200),以圓心處為參考點(diǎn),半徑依次增加2個像素,圓周的顏色隨機(jī)。6.給定數(shù)組data=1,2,3,4分別畫出圓餅圖、條形圖(寬隨意給定,高代表所占百分比),顏色任意。7.找一幅圖像,顯示在Applet中,要求按原圖大小顯示,再放大或縮小一倍顯示,或者放大顯示右下部的1/4塊8 編寫Applet顯示字符串,顯示字符串及其顯示位置,字體、字體大小和顏色通過HTML文件中的參數(shù)來傳遞。實(shí)驗(yàn)九 異常處理一、實(shí)驗(yàn)?zāi)康模豪斫?java 語言中獨(dú)特的異常處理機(jī)制;掌握異常處理方法;正確地使用捕獲異常和聲明拋棄異常的兩種異常處理的方法;理解自定義異常類的使用; 理解拋出異常和聲明拋出異常的區(qū)別與聯(lián)系;二、實(shí)驗(yàn)內(nèi)容:1 從命令行得到5個整數(shù),放入一整型數(shù)組,然后打印輸出,要求:如果輸入數(shù)據(jù)不為整數(shù),要捕獲Integer.parseInt()產(chǎn)生的異常,顯示“請輸入整數(shù)”,捕獲輸入?yún)?shù)不足5個的異常(數(shù)組越界),顯示“請輸入至少5個整數(shù)”。 2寫一個方法void sanjiao(int a,int b,int c),判斷三個參數(shù)是否能構(gòu)成一個三角形,如果不能則拋出異常IllegalArgumentException,顯示異常信息a,b,c+”不能構(gòu)成三角形”,如果可以構(gòu)成則顯示三角形三個邊長,在主方法中得到命令行輸入的三個整數(shù),調(diào)用此方法,并捕獲異常。3.自定義類Sanj,其中有成員 x,y,z,作為三邊長,構(gòu)造方法Sanj(a,b,c)分別給x,y,z賦值,方法求面積getArea和顯示三角形信息(三個邊長)showInfo,這2個方法中當(dāng)三條邊不能構(gòu)成一個三角形時要拋出自定義異常NotSanjiaoException,否則顯示正確信息。在另外一個類中的主方法中構(gòu)造一個Sanj對象(三邊為命令行輸入的三個整數(shù)),顯示三角形信息和面積,要求捕獲異常。三、實(shí)驗(yàn)要求:1. 通過實(shí)驗(yàn)掌握捕獲異常和聲明拋棄異常的兩種異常處理的方法;2. 程序必須能夠捕獲Integer.parseInt()產(chǎn)生的異常并作相應(yīng)的處理;3. 程序必須能夠?qū)⑻幚淼南鄳?yīng)的信息輸出出來;4. 寫出實(shí)驗(yàn)報告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提材示,并給出解決辦法。(附運(yùn)行界面、源代碼)。四、實(shí)驗(yàn)步驟:1. (第1題) 使用try.catch. finally語句對Integer.parseInt()產(chǎn)生的異常進(jìn)行捕獲處理;2. (第2題) 定義方法void 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)的方法, 在定義的方法中對不符合條件則拋出異常(如上題) ,再定義main方法,對正確的數(shù)據(jù)輸出正確信息,否則捕獲異常;五、自主實(shí)驗(yàn)1.參考下面的程序,試修改程序,捕獲相關(guān)異常,使得程序能正常運(yùn)行。提示:用錯誤數(shù)據(jù)測試,即可得到異常類名,運(yùn)行時主方法參數(shù)輸入 abc 測試public class StringIndexOutOfpublic static void main(String args)System.out.println(字符串索引越界異常);String str=args0; System.out.println(“第四個字符為 ”+str.charAt(3);int aa=Integer.parseInt(args0); System.out.println(“平方為 ”+aa*aa);實(shí)驗(yàn)十 Java多線程 一、實(shí)驗(yàn)?zāi)康模菏煜だ肨hread類建立多線程方法。熟悉利用Thread接口建立多線程方法。二、實(shí)驗(yàn)內(nèi)容: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 ”+delay); 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.講上列程序利用Runnable接口改寫,并上機(jī)檢驗(yàn)。3.利用多線程 編寫一個模擬時鐘(圖形界面程序、Runnable接口),有時分秒 針編寫一個應(yīng)用程序,創(chuàng)建三個線程分別顯示各自的時間。三、實(shí)驗(yàn)要求:1. 通過實(shí)驗(yàn)掌握Thread 、Runnable使用方法;2. 程序必須能夠?qū)崿F(xiàn)多線程;3. 程序必須能夠完成題目要求;4. 寫出實(shí)驗(yàn)報告。四、實(shí)驗(yàn)步驟:首先分析程序功能,再通過上機(jī)運(yùn)行驗(yàn)證自己的分析,從而掌握通過Thread類建立多線程的方法。通過將擴(kuò)展Thread類建立多線程的方法改為利用Runnable接口的方法,掌握通過Runnable接口建立多線程的方法。三、 自做實(shí)驗(yàn)教材:P167第6題 ,第8題實(shí)驗(yàn)十 輸入輸出流一、實(shí)驗(yàn)?zāi)康模菏煜ava的文件讀寫機(jī)制,練習(xí)輸入輸出流的使用。二、實(shí)驗(yàn)內(nèi)容:1、鍵盤輸入10個整數(shù),從小到大進(jìn)行排序。2、接收鍵盤輸入的字符串,用FileInputStream類將字符串寫入文件,用FileOutputStream類讀出文件內(nèi)容顯示在屏幕上。3、將一個文本文件的內(nèi)容按行讀出,每讀出一行就順序加上行號,并寫入到另一個文件中。三、實(shí)驗(yàn)要求:1.

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論