《面向?qū)ο蟪绦蛟O計》課程實驗指導書2.doc_第1頁
《面向?qū)ο蟪绦蛟O計》課程實驗指導書2.doc_第2頁
《面向?qū)ο蟪绦蛟O計》課程實驗指導書2.doc_第3頁
《面向?qū)ο蟪绦蛟O計》課程實驗指導書2.doc_第4頁
《面向?qū)ο蟪绦蛟O計》課程實驗指導書2.doc_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論