




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、Java語言基礎課程實驗指導書合肥學院計算機科學與技術系實驗一 Java開發(fā)環(huán)境的配置一、實驗目的:1.熟悉JDK的安裝和環(huán)境變量path,classpath的配置;2.熟悉Editplus(UltraEdi或TextPad)編輯工具;3.認識Application和Applet程序結構;二、實驗內(nèi)容:1JDK的安裝和配置環(huán)境變量path,classpath;2熟悉安裝使用Editplus(UltraEdi或TextPad)編輯工具3安裝和使用Java集成開發(fā)工具(如MyEclipse)*;4編譯調(diào)試Application和Applet程序;三、實驗要求:1.程序能輸出一條簡單的問候信息;2.
2、實驗報告中對程序結構做出詳細的解釋;3.實驗報告中給出配置JDK的步驟;4.寫出實驗報告中要求記錄編譯和執(zhí)行Java程序當中的系統(tǒng)錯誤信息提示,并給出解決辦法;四、實驗步驟:1從 上下載最新版本的JDK,并安裝;2設置環(huán)境變量path ,classpath, 使得Java程序能正確編譯和執(zhí)行;3在Editplus(或UltraEdit)環(huán)境下編寫一個Application程序;(1)在主方法static public void main(String args)中調(diào)用System.out.println()方法,使程序輸出一條問候信息;(2) 編譯運行程序,觀察運行情況和輸出結果。(使用JDK
3、環(huán)境,調(diào)用javac.exe和java.exe編譯和執(zhí)行程序)4. 在Editplus(或UltraEdit)環(huán)境下編寫一個Applet程序;(1)在public void paint(Graphics g)方法中調(diào)用g.drawString()方法,使程序輸出一條問候信息;(2) 編譯運行程序,觀察運行情況和輸出結果。(使用JDK環(huán)境,調(diào)用javac.exe編譯和瀏覽器解釋執(zhí)行Applet程序)實驗二 Java語言基礎一、實驗目的:1熟悉Java基本語法,基本數(shù)據(jù)類型,各種運算符及表達式的使用;2掌握運算符優(yōu)先級,熟悉使用Java的選擇語句,循環(huán)語句;二、實驗內(nèi)容:1.編寫Java Appl
4、ication程序,輸出1900年到2000年之間的所有潤年。(閏年的判斷條件:能被4整除且不能被100整除,或能被400整除);2.編寫Java Appet 程序打印 “水仙花” 數(shù) (它的個、十、百位數(shù)字的立方的和等于該數(shù)本身,如:153=13+53+33) ;3. 編寫Java Application程序,分別用do-while和for循環(huán)計算1+1/2!+1/3!+1/4!.的前20項和;三、實驗要求:1. 正確使用Java語言的選擇語句,循環(huán)語句;2. 調(diào)試程序、編譯,運行后得到正確的結果;3.實驗報告要求記錄編譯和執(zhí)行Java程序當中的系統(tǒng)錯誤信息提成示,并給出解決辦法并分析原因(
5、附運行界面、源代碼);四、實驗步驟:1.編寫public類;在static public void main(String args)方法中加入實現(xiàn)要求功能的代碼,主要步驟如下:(第一題)從1900到2000循環(huán),按照閏年的判斷條件是則輸出1900年到2000年之間的所有潤年。(第二題)編寫Java Applet, 在public void paint(Graphics g)方法中加入實現(xiàn)要求功能的代碼, 主要步驟是:從100到1000循環(huán),判斷每個數(shù)是否符合水仙花數(shù)的特點,是則輸出之。3.編譯運行程序,觀察輸出結果是否正確。五、課外實驗1. 輸出100以內(nèi)的所有素數(shù)。(提示: 逐個判斷小于a
6、的每個正整數(shù)x,第二重循環(huán)針對x,判斷其是否是質(zhì)數(shù))2. 用循環(huán)語句打印一個乘法表。3判斷回文數(shù)(逆序排列后得到的數(shù)和原數(shù)相同)。實驗三 類和對象一、實驗目的:1掌握Java類的結構、類的定義、方法和屬性的定義以及對象的實現(xiàn);2掌握類及其成員修飾符的使用;掌握構造函數(shù)的使用;方法的參數(shù)傳遞和返回值的用法;3掌握類變量與實例變量,以及類方法與實例方法的區(qū)別;二、實驗內(nèi)容:1定義一個學生類(Student),屬性有private的名字(name), public的年齡(age),專業(yè)(specialty)和封裝name屬性的方法:setName(),getName(),getspecialty()
7、編寫Application,創(chuàng)建一個學生對象,設置name和age屬性值,然后調(diào)用一個方法(此方法將對象作為參數(shù)傳遞,在方法中打印出學生的名字name和年齡age)。(學生類僅包含靜態(tài)成員變量和方法。)2定義一個類MyPoint,代表一個點,public屬性有x和y,方法有顯示點坐標show(),構造函數(shù)有兩個參數(shù)分別給x,y賦值,在main方法中構造兩個對象,再創(chuàng)建一方法(getMiddle)為取兩個點構成線段的中點的坐標,參數(shù)為2個點對象,調(diào)用此方法后得到一個新的點,編寫Application,顯示該對象的坐標值。3定義一個復數(shù)(z=x+iy)類Complex,包含: 兩個屬性:實部x和虛
8、部y 默認構造函數(shù) Complex(),設置x=0,y=0; 構造函數(shù):Complex(int i,int j)1)求顯示復數(shù)的方法:showComp()將其顯示為如: 5+8i或5-8i 的形式。2)求復數(shù)的和的方法:(參數(shù)是兩個復數(shù)類對象,返回值是復數(shù)類對象)3) 求復數(shù)的差的方法:(參數(shù)是兩個復數(shù)類對象,返回值是復數(shù)類對象)4)求復數(shù)的乘積的方法:(參數(shù)是兩個復數(shù)類對象,返回值是復數(shù)類對象)5)比較兩個復數(shù)是否相等的方法(參數(shù)是兩個復數(shù)類對象,返回值是boolean類型)三、實驗要求:1. 正確地定義類、方法和屬性;2. 學會方法的參數(shù)傳遞和返回值的用法;3. 熟練使用類及其成員修飾符;
9、4. 使用構造函數(shù)創(chuàng)建類的對象;5. 類變量與實例變量,以及類方法與實例方法的使用;6.程序應包括各個被調(diào)用方法的執(zhí)行結果的顯示;7. 實驗報告要求記錄編譯和執(zhí)行Java程序當中的系統(tǒng)錯誤信息提示,并給出解決辦法并分析原因。(附運行界面、源代碼);四、實驗步驟:1(第1題)定義一個學生類(Student)及它的屬性和方法;定義主類和main(),在main()方法中創(chuàng)建學生對象,并通過對象調(diào)用它的方法setName(),getName(),輸出學生的名字name和年齡age;2. (第2題) 定義類Point及它的屬性、方法和構造函數(shù),定義主類和main(),在main()方法中創(chuàng)建兩個坐標對
10、象,,并通過對象調(diào)用getMiddle方法后得到一個新的點坐標,調(diào)用show()顯示該對象的坐標值。3. (第3題)定義一個復數(shù)(z=x+yi)類Complex,及它的屬性、方法和構造函數(shù);定義主類和main()方法,在main()方法中創(chuàng)建兩個復數(shù)類Complex對象,并通過復數(shù)類對象調(diào)用它們的屬性和方法,輸出方法執(zhí)行結果;五、課外實驗1.構造一個類來描述屏幕上的一個點,該類的構成包括點的x和y兩個坐標,以及一些對點進行的操作,包括:取得點的坐標值,對點的坐標進行賦值,編寫應用程序生成該類的對象并對其進行操作。2.編寫實現(xiàn):有一個三角形類Triangle,成員變量有底邊x和另一條邊y,和兩邊
11、的夾角a(0a180),a為靜態(tài)成員,成員方法有兩個:求面積s(無參數(shù))和修改角度(參數(shù)為角度)。3.編寫實現(xiàn): 構造函數(shù)為 Triangle(int xx,int yy,int aa) 參數(shù)分別為x,y,a賦值 在main方法中構造兩個對象,求出其面積,然后使用修改角度的方法,修改兩邊的夾角,再求出面積值。(提示:求高的方法 h=y*Math.sin(a) )注意:構造方法用于對成員變量初始化,無參數(shù)的構造方法將成員變量初始化為0值。26實驗四 java繼承與多態(tài)一、實驗目的:1掌握繼承、多態(tài)的概念與實現(xiàn)方法;2掌握包和接口的定義和使用方法;二、實驗內(nèi)容:1分別編寫兩個類Point2D,Po
12、int3D來表示二維空間和三維空間的點,使之滿足下列要求:1)Point2D有兩個整型成員變量x, y (分別為二維空間的X,Y方向坐標),Point2D的構造方法要實現(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有兩個構造方法:Point3D(int x,int y,int z)和Point3D(Point2D p,int z),兩者均可實現(xiàn)對Point3D的
13、成員變量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,打印出他們之間的距離。21)定義抽象類Shape,抽象方法為showArea(),求出面積并顯示,定義矩形類Rectangle,正方形類Square,圓類 Circle,根據(jù)各自的屬性,用showArea方法求出各自的面積,在main方法中構造3個對象,調(diào)用showAr
14、ea方法。2)定義接口DiagArea,其中包含方法double getDiagonal()求對角線長, double getArea()求面積,定義一個矩形類,實現(xiàn)此接口,并自行擴充成員變量和方法;3)定義一個正方形類繼承矩形類(如矩形有長w和寬h,正方形有邊x,并有相應的構造函數(shù),有一個方法中一次直接顯示邊長、面積和對角線長),在另一類中的主方法里使用測試該類。三、實驗要求:1. 能實現(xiàn)類的繼承關系;2. 用多種方法創(chuàng)建各個類的對象;3. 程序應包括各個被調(diào)用方法的執(zhí)行結果的顯示。4. 寫出實驗報告。要求記錄編譯和執(zhí)行Java程序當中的系統(tǒng)錯誤信息提示,并給出解決辦法。(附運行界面、源代碼
15、)。四、實驗步驟:1(第1題)定義Point2D,及定義它的屬性和方法; 定義子類Point3D,及定義它的屬性和方法;在Point3D中的主函數(shù)main()中實例化兩個Point2D的對象,并通過這兩個對象調(diào)用它們的屬性和方法,輸出方法執(zhí)行結果。2(第2題)定義抽象類Shape,抽象方法為showArea(),再定義矩形類Rectangle,正方形類Square,圓類 Circle,和各自的屬性。定義主類、主方法,在main方法中構造3個對象,調(diào)用showArea方法;定義接口DiagArea,其中包含方法double getDiagonal(),在主main方法中輸出方法執(zhí)行結果。五、課外
16、實驗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的不同
17、子類對象(如是1,生成Circle對象;如是2,生成Rectangle對象;如是3,生成Star對象)。然后將Vector中元素依次取出,判斷其是否為Star類。如是返回其是個Star。否則返回其面積。3.學校中有老師和學生兩類人,而在職研究生既是老師又是學生,對學生的管理和對教師的管理在他們身上都有體現(xiàn)。1)設計兩個信息管理接口StudentManageInterface和TeacherManageInterface。其中,StudentInterface接口包括setFee()方法和getFee()方法,分別用于設置和獲取學生的學費;TeacherInterface接口包括setPay()
18、方法和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)定義主類的成員變量,和構造方法。 4)給出四個接口方法的
19、實現(xiàn)。5)給出一個計算是否需要貸款的方法,在里面統(tǒng)計年收入和學費,并輸出是否需要貸款的信息。6)寫main方法。在其中創(chuàng)建一個姓名為“zhangsan”的研究生,調(diào)用計算是否需要貸款的方法。4書后練習實驗五 Java數(shù)組、字符串及常用類應用一、實驗目的:1掌握數(shù)組的定義和使用方法;熟悉數(shù)組的排序、查找等算法;2掌握字符串的使用方法;二、實驗內(nèi)容:1編寫Application程序, 從命令行參數(shù)輸入10個整數(shù)并保存在數(shù)組中,求數(shù)組中最大、最小、數(shù)據(jù)的和、平均值。2.從命令行參數(shù)一日期,如“2005-5-6”,計算與今日之間的天數(shù)間隔。3.將命令行第一個參數(shù)每個字符放入一字符數(shù)組,然后逆序輸出4編
20、寫Application程序,接受用戶輸入一段英文文字后,輸出其中的字符數(shù)、單詞數(shù)和句子數(shù)(設句子以“?”、“!”、“.”結束)。5打印楊輝三角的前10層。 6.編寫Applet程序,使用 *畫一條正弦曲線(提示:y=a* sin(x),坐標要取整)三、實驗要求:1.熟練對象數(shù)組及創(chuàng)建初始化和未初始化的數(shù)組的方法;2. 熟悉從命令行參數(shù)的使用;3. 熟悉String 和StringBUFFER的使用方法4. 熟悉常用類庫的使用;5. 寫出實驗報告。要求記錄編譯和執(zhí)行Java程序當中的系統(tǒng)錯誤信息提示,并給出解決辦法。(附運行界面、源代碼)。四、實驗步驟:1(第1題).從命令行輸入10個數(shù)到數(shù)組
21、,用循環(huán)語句分別求最大、最小、數(shù)據(jù)的和、平均值。2. (第2題)利用String類的各種方法,分別判斷字符是否為“?”、“!”、“.”,用3個計數(shù)器分別計數(shù)。3(第3題)將命令行第一個參數(shù)字符串中的每個字符作為數(shù)組元素放入一字符數(shù)組,再循環(huán)語句逆序數(shù)組元素。4(第4題)定義一個二維數(shù)組,第一維的長度為所打印楊輝三角的層數(shù)(即10),第二維為每一層的數(shù)據(jù)個數(shù)(也就是其所在的層數(shù))。5 (第5題) 利用Math類中sin函數(shù),在Paint()方法中用Graphics類drawString()畫一條正弦曲線.五、課外實驗1求Fibonacci序列的前n項,要求:在main方法中定義一數(shù)組,數(shù)組的長度
22、n為一final定義的常量,使用一單獨方法,無返回值,參數(shù)為一數(shù)組,在方法中給數(shù)組賦予序列的值,在main方法中調(diào)用該方法,然后打印結果數(shù)組的內(nèi)容。2聲明一個矩陣類Matrix,成員變量是一個二維數(shù)組,設數(shù)組元素類型為int,請設計方法:(1)構造方法:Matrix() /構造一個10X10個元素的矩陣,沒有數(shù)據(jù)Matrix(int n,int m) /構造一個nXm個元素的矩陣,數(shù)據(jù)由隨機數(shù)產(chǎn)生Matrix(int table) /以一個整型的二維數(shù)組構造一個矩陣(使用 this)(2) 實例方法: public void output() /輸出Matrix類中數(shù)組的元素值public v
23、oid transpose() /輸出一個矩陣的轉置矩陣隨機數(shù)求法:Math.random( )返回0-1的小數(shù),由上題中的Matrix類派生出正方形Square類,在構造方法中調(diào)用父類的構造方法(使用super)。3. 編寫一個Java程序,完成以下功能:(1)聲明一個名為s的String對象,并使它的內(nèi)容是“My name is Carrol”;(2)打印整個字符串;(3)打印字符串的長度;(4)打印字符串的第一個字符;(5)打印最后一個字符;(6)打印字符串的第一個單詞。*4編寫一個程序,用散列表實現(xiàn)學生成績單的存儲和查詢,并將若干個查詢結果存放到一個向量中,通過循環(huán)將向量對象內(nèi)容逐個輸
24、出。*5.從命令行讀入一浮點數(shù)值,將其轉化為中文金額的大寫方式,如123.45,轉化為:壹佰貳拾叁元肆角伍分,中間有多個0只要一個零。*6利用Vector對象改寫上面的程序,輸入元素個數(shù)由用戶自由確定。實驗六 Applet類及應用一、實驗目的:1.掌握applet的程序結構和運行方式;2.掌握從html文檔向Java Applet傳遞參數(shù)的方法;3.理解applet程序的生命周期;4.掌握在Applet中對字體、顏色、播放聲音、顯示圖像和動畫控制方法;二、實驗內(nèi)容:1.編寫Applet程序,改變applet窗口大小,使其最大化、最小化,查看init()、start()、paint()、和des
25、troy()方法的執(zhí)行情況(執(zhí)行順序和執(zhí)行次數(shù))。2 編寫Applet顯示字符串,顯示字符串及其顯示位置,字體、字體大小和顏色通過HTML文件中的參數(shù)來傳遞。3編寫Applet(大小140*60),其背景色為藍色,畫一個長方形(其填充色為pink,各邊離邊小于10像素)和一個在填充的長方形中左右移動的小球(半徑15)。4. 實現(xiàn)一個Applet,顯示一幅圖片。不停地運行一個動畫。三、實驗要求:1. 必須編寫成Java Applet程序;2. 能夠通過傳遞參數(shù)控制一種或者幾種圖形的繪制;3.寫出實驗報告。要求記錄編譯和執(zhí)行Java程序當中的系統(tǒng)錯誤信息提示,并給出解決辦法。(附運行界面、源代碼)
26、。四、實驗步驟: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)顯示系列
27、圖片就形成動畫。5. 運行、檢查和調(diào)試 以上各程序。五、課外實驗1.編寫Applet,訪問并顯示指定URL地址處的圖像和聲音資源。2.編寫Applet,訪問并顯示指定URL地址處的一組圖像構成的動畫。3.編寫Applet,接收用戶輸入的網(wǎng)頁地址,并與程序中事先保存的地址相比較,若存在則打開網(wǎng)頁,并在新打開的瀏覽器窗口顯示*編寫一個Applet程序,顯示一個圓心在Applet的中心,半徑從0到100像素不斷變大的綠色球的動畫。4.在Applet中畫矩形,要求矩形做上角點坐標(20,20),高度為400*200,上下左右邊設為藍色、矩形填充色為綠色,并在居中的位置寫上文字“面向?qū)ο蟪绦蛟O計”,字體
28、為楷體_gb2312,大小自定。5.自定義橢圓(或圓)的方法,畫一組橢圓(最大半徑200),以圓心處為參考點,半徑依次增加2個像素,圓周的顏色隨機。6.給定數(shù)組data=1,2,3,4分別畫出圓餅圖、條形圖(寬隨意給定,高代表所占百分比),顏色任意。7.找一幅圖像,顯示在Applet中,要求按原圖大小顯示,再放大或縮小一倍顯示,或者放大顯示右下部的1/4塊實驗七 圖形用戶界面與事件處理機制(一)一、實驗目的:1.掌握Java圖形組件和布局管理器的使用;2.掌握使用Java事件處理機制的使用。3.掌握圖形界面的各種控件的使用,如:標簽、文本框、按鈕、復選框、列表框、窗框等。二、實驗內(nèi)容:1.編寫
29、Application程序,在Frame中加入2個按鈕(Button)和1個標簽(Label),單擊兩個按鈕,顯示按鈕的標簽于Label。2在Applet中加入1個文本框,1個文本區(qū),每次在文本框中輸入文本,回車后將文本添加到文本區(qū)的最后一行。3在Applet中加入2個復選框,顯示標題為“學習”和“玩耍”,根據(jù)選擇的情況,分別顯示“玩?!薄ⅰ皩W習”、“勞逸結合”。4在Applet中加入1個滾 動列表框List、1個下拉列表框Choice和1個按鈕,點擊按鈕將List中的項目移到Choice組件中,5. 編寫Application程序,在Frame中加入80個按鈕,分20行4列,用GridLay
30、out布局方式,按鈕背景為黃色(Color.yellow),按鈕文字顏色為紅色(Color.red)。6設計一個簡單計算器,如下圖所示。在“操作數(shù)”標簽右側的兩個文本框輸入操作數(shù),當單擊操作符,按鈕時,對兩個操作數(shù)進行運算并將結果填入到“結果”標簽右側的文本框中。三、實驗要求:1.采用布局管理器進行界面的布局;2. 學會對不同的事件用相應的事件處理器;3.寫出實驗報告。要求記錄編譯和執(zhí)行Java程序當中的系統(tǒng)錯誤信息提材示,并給出解決辦法。(附運行界面、源代碼)。四、實驗步驟:1運用一種或多種布局管理器,繪制出一個簡單的計算器;2. 為按鈕注冊事件監(jiān)聽器,使其點擊按鈕,并在顯示區(qū)域同步顯示當前
31、輸入或運算結果;3. 編譯運行程序,檢查計算器的正確性;五、課外實驗1學生可以視個人情況完成更復雜更完善的計算器功能,通過多種布局管理方法實現(xiàn)更美觀的界面布局。2編寫Applet程序,在控制按鈕程序中,實現(xiàn)播放音樂,顯示圖片等操作。3.編寫Java Applet程序,使它在瀏覽器中通過響應功能按鈕的點擊事件繪制各種簡單的幾何圖形(矩形、圓形、扇形、多邊形和他們的填充效果),并且能夠通過接收傳遞參數(shù)控制圖形的繪制。4.在Applet中做2個按鈕,點擊它們,分別畫一個填充的藍矩形和粉紅色圓,位置隨機,并統(tǒng)計每個按鈕點擊的次數(shù)實驗七 圖形用戶界面與事件處理機制(二)一、實驗目的:1.掌握菜單、彈出式
32、菜單設計。2.會處理事件以及設置輸入對話框。3.了解對文本域JTextArea中字符進行復制和粘貼的操作。二、實驗內(nèi)容:1.在窗口中建立菜單和彈出式菜單,”文件”中有”打開”項目,點擊后彈出文件對話框,在界面中的1個文本框中顯示打開的文件名。*2. 設計一個JAVA程序模仿記事本(NotePad)的部分功能,界面如下圖。 三、實驗要求:1.學會建立菜單和彈出式菜單;2. 學會文件對話框的使用;對不同的事件用相應的事件處理器;3.寫出實驗報告。要求記錄編譯和執(zhí)行Java程序當中的系統(tǒng)錯誤信息提材示,并給出解決辦法。(附運行界面、源代碼)。四、實驗步驟:1.(第1題) 從打開文件對話框中獲取文件名
33、,將文件名放入文本框。2.(第2題)新建文件時,文本域為空;打開文件和保存文件時要給出輸入對話框,輸入相應文件名后進行操作;選擇退出菜單將退出整個程序。再對文本域中選中的字符能夠進行復制和粘貼操作。3.編譯運行以上程序五、自做實驗:1.利用所學的Java語言知識,完成一個實現(xiàn)秒表功能的Applet程序。它的GUI界面如下所示: 利用所學的Java語言知識,完成一個實現(xiàn)秒表功能的Applet程序。它的GUI界面如下所示:要求該程序能夠完成以下功能:(1) 在界面上方的文本框中,按照小時:分鐘:秒的順序?qū)崟r顯示系統(tǒng)時間;(2) 當按下界面中間的Current Time:按鈕時,當前系統(tǒng)時間能夠在界
34、面下方的文本框中顯示出來。提示:可以通過調(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個按鈕,一個為標簽為“橢圓”,另一個為“矩形”,點擊后分別畫紅色的橢圓和藍色的矩形
35、,其寬度為100、高度為60,左上角頂點坐標為(50,50),試寫出完整程序,并且要寫出其對應的HTML文件代碼。實驗八 Java的異常處理一、實驗目的:1理解 java 語言中獨特的異常處理機制;2掌握異常處理方法;3正確地使用捕獲異常和聲明拋棄異常的兩種異常處理的方法;4了解自定義異常類的使用; 5理解拋出異常和聲明拋出異常的區(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寫一個方法vo
36、id sanjiao(int a,int b,int c),判斷三個參數(shù)是否能構成一個三角形,如果不能則拋出異常IllegalArgumentException,顯示異常信息a,b,c+”不能構成三角形”,如果可以構成則顯示三角形三個邊長,在主方法中得到命令行輸入的三個整數(shù),調(diào)用此方法,并捕獲異常。3.自定義類Sanj,其中有成員 x,y,z,作為三邊長,構造方法Sanj(a,b,c)分別給x,y,z賦值,方法求面積getArea和顯示三角形信息(三個邊長)showInfo,這2個方法中當三條邊不能構成一個三角形時要拋出自定義異常NotSanjiaoException,否則顯示正確信息。在另外
37、一個類中的主方法中構造一個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
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題) 定義三角形類及相應的方法, 在定義的方法中對不符合條件則拋出異常(如上題) ,再定義main方法,對正確的數(shù)據(jù)輸出正確信息,否則捕獲異常;五、課外實驗1.參考下面的程序,試修改程序,捕獲相關異常,使得程序能正常運行。提示:用錯誤數(shù)據(jù)測試,即可得到異常類名,運行時主方法參數(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(“第四個字符為 ”+str.charAt(3);System.out.println(“平方為”+aa*aa);2. 課本練習實驗九 Java多線程 一、實驗目的:1.熟悉利用Thread類建立多線程方法。2.熟悉利用Thread接口建立多線程方法。二、實驗內(nèi)
40、容: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 ”+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接口改寫,并上機檢驗。3.利用多線程 編寫一個模擬時鐘(AWT程序、Runnable接口),有時分秒針編寫一個應用程序,創(chuàng)建三個線程分別顯示各自的時間。三、實驗要求:1. 通過實驗掌握Thread 、Runnable使用方法;2. 程序必須能夠?qū)崿F(xiàn)多線程;3. 程序必須能夠完成題目要求;4. 寫出實驗報告。要求記錄編譯和執(zhí)行Java程序當中的系統(tǒng)錯誤信息提材示,并給出解決辦法。(附運行界面、源代碼)。四、實驗步驟:1.首先分析程序功能,再通過上機運行驗證自己的分析,從而掌握通過Thread類建立多線程的方法。2.通過將擴展Thread類建立多線程的方法改為利用Runnable
43、接口的方法,掌握通過Runnable接口建立多線程的方法。五、課外實驗課本:P262 12,13,14實驗十 輸入輸出流一、實驗目的:熟悉Java的文件讀寫機制,練習輸入輸出流的使用。二、實驗內(nèi)容:1.鍵盤輸入10個整數(shù),從小到大進行排序。2接收鍵盤輸入的字符串,用FileInputStream類將字符串寫入文件,用FileOutputStream類讀出文件內(nèi)容顯示在屏幕上。3將一個文本文件的內(nèi)容按行讀出,每讀出一行就順序加上行號,并寫入到另一個文件中。三、實驗要求:1. 通過實驗掌握文件輸入輸出流的使用方法;2. 程序必須能夠從鍵盤接收字符串并保存在文件中;3. 程序必須能夠讀出文件內(nèi)容顯示在屏幕上;4. 寫出實驗報告。要求記錄編譯和執(zhí)行Java程序當中的系統(tǒng)錯誤信息提材示,并給出解決辦法。(附運行界面、源代碼)。四、實驗步驟:1(第1題)接收鍵盤輸入字符串,再轉化整數(shù);2. (第2、3題)編寫主
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 ISO/IEC 15045-4-2:2024 EN Information technology - Home Electronic System (HES) gateway - Part 4-2: Structure - Simple gateway
- 【正版授權】 ISO 10993-4:2017/Amd 1:2025 EN Biological evaluation of medical devices - Part 4: Selection of tests for interactions with blood - Amendment 1
- 2025年度兒童接送服務與社區(qū)共建合作協(xié)議
- 2025年度出租車大包合同范本與合同法解讀
- 2025年新型不銹鋼罐體設計、制造與安裝集成合同
- 財務報表披露規(guī)定計劃
- 主管如何激勵高表現(xiàn)者計劃
- 倉庫精益管理的實施效果計劃
- 班級外聯(lián)活動的經(jīng)驗分享計劃
- 課程創(chuàng)新與教學實驗計劃
- 2025年春季學期學校團委工作計劃(附團委工作安排表)
- 2025公文寫作考試題庫(含參考答案)
- 2025年湖南科技職業(yè)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2024年安徽省高校分類考試對口招生語文試卷真題(含答案)
- 2024年安徽省省情知識競賽題庫及答案
- 2025年伊春職業(yè)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025版林木砍伐與生態(tài)修復工程承包合同2篇
- 課題申報參考:社會網(wǎng)絡視角下村改居社區(qū)公共空間優(yōu)化與“土客關系”重構研究
- 如何管理好一家公寓
- 2025年零售業(yè)員工職業(yè)發(fā)展規(guī)劃與培訓
- 2025年八省聯(lián)考高考語文試題真題解讀及答案詳解課件
評論
0/150
提交評論