語言程序設(shè)計實(shí)驗(yàn)指導(dǎo)書提交版_第1頁
語言程序設(shè)計實(shí)驗(yàn)指導(dǎo)書提交版_第2頁
語言程序設(shè)計實(shí)驗(yàn)指導(dǎo)書提交版_第3頁
語言程序設(shè)計實(shí)驗(yàn)指導(dǎo)書提交版_第4頁
語言程序設(shè)計實(shí)驗(yàn)指導(dǎo)書提交版_第5頁
已閱讀5頁,還剩92頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、目錄實(shí)驗(yàn) G01: 計算機(jī)、程序和 Java 概述2實(shí)驗(yàn) G02:基本數(shù)據(jù)類型和基本操作10實(shí)驗(yàn) G03:條件語句15實(shí)驗(yàn) G04:循環(huán)19實(shí)驗(yàn) G05:方法23實(shí)驗(yàn) G06:數(shù)組26實(shí)驗(yàn) G07:對象和類31實(shí)驗(yàn) G08:字符串和文本 I/O37實(shí)驗(yàn) G09:繼承與多態(tài)41實(shí)驗(yàn) G10:抽象類和接口49實(shí)驗(yàn) G11:面向?qū)ο笤O(shè)計54實(shí)驗(yàn) G12: 實(shí)驗(yàn) G13: 實(shí)驗(yàn) G14:實(shí)驗(yàn) G15:圖形用戶界面程序設(shè)計入門59圖形63驅(qū)動程序71創(chuàng)建圖形用戶界面78實(shí)驗(yàn) G16: applet 和多.83實(shí)驗(yàn) G17:實(shí)驗(yàn) G18:實(shí)驗(yàn) G19:異常處理89二進(jìn)制 I/O92遞歸96實(shí)驗(yàn) G01:

2、計算機(jī)、程序和 Java 概述一、實(shí)驗(yàn)名稱和性質(zhì)二、實(shí)驗(yàn)?zāi)康?. 了解 Java 開發(fā)運(yùn)行環(huán)境,同時學(xué)會設(shè)置 JDK6.0 路徑;2. 學(xué)習(xí)在 DOS 環(huán)境下編譯和運(yùn)行 Application 程序。三、實(shí)驗(yàn)內(nèi)容1. 先安裝 JDK6.0,安裝好后,進(jìn)行 JDK6.0 路徑設(shè)置(驗(yàn)證性實(shí)驗(yàn))。2. 在 DOS 環(huán)境下編譯和運(yùn)行程序 HelloJava.java,觀察運(yùn)行成果(驗(yàn)證性實(shí)驗(yàn))。四、實(shí)驗(yàn)的軟硬件環(huán)境要求硬件環(huán)境要求:PC 計算機(jī);內(nèi)存 512MB 以上使用的軟件名稱、版本號以及模塊:操作系統(tǒng): WindowsXP 或 Windows 7軟件:JDK 6.0;DOS 環(huán)境五、知識準(zhǔn)備前

3、期要求掌握的知識: 了解如何配置 JDK 編譯環(huán)境。實(shí)驗(yàn)相關(guān)理論或原理: JDK(Java Development Kit)是 Sun MicrosystemsJava 開發(fā)員的。自從 Java 推出以來,JDK 已經(jīng)成為使用最廣泛的 Java SDK。JDK 是整個 Java的,包括了 Java 運(yùn)行環(huán)境,Java 工具和 Java 基礎(chǔ)的類庫。JDK 是學(xué)好 Java 的第一步。而專門運(yùn)行在x86 平臺的Jrocket 在服務(wù)端運(yùn)行效率也要比Sun JDK 好很多。從SUN 的JDK5.0開始,提供了泛型等非常實(shí)用的功能,其版本也不斷更新,運(yùn)行效率得到了非常大的提高。本實(shí)驗(yàn)指導(dǎo)書使用最新的

4、 jdk1.6.0_02。六、驗(yàn)證性實(shí)驗(yàn)1.JDK6.0 的安裝和 JDK6.0 路徑設(shè)置(1)從網(wǎng)上JDK6.0,如:(2)雙擊后進(jìn)行 JDK6.0 的安裝,如圖 1.1 所示:所屬課程面向?qū)ο蟪绦蛟O(shè)計實(shí)驗(yàn)名稱計算機(jī)、程序和 Java 概述實(shí)驗(yàn)學(xué)時2實(shí)驗(yàn)性質(zhì) 驗(yàn)證綜合 設(shè)計必做/選做 必做選做圖 1.1 進(jìn)入安裝界面(3)點(diǎn)擊接受后,可以自定義安裝,這里使用安裝程序的默認(rèn)路徑:C:Program FilesJavajdk1.6.0_02;如圖 1.2 所示:圖 1.2 設(shè)置安裝路徑,開始自定義安裝(4)點(diǎn)擊下一步,就可以安裝了如圖 1.3 所示:圖 1.3 正在安裝 JDK6.0(5)等到安

5、裝完成會彈出“安裝完成”框,如圖 1.4 所示,則完成 JDK6.0 的安裝:圖 1.4 JDK6.0 安裝完成(6)安裝好JDK6.0 后,可以打開安裝的目錄如圖 1.5 所示:圖 1.6 JDK 安裝好后生成的文件如果想在系統(tǒng)的任意目錄下編譯和運(yùn)行編寫好的 Java 程序,需要先設(shè)置環(huán)境變量,請按以下步驟配置(記著 JDK 的默認(rèn)安裝路徑 C:Program FilesJavajdk1.6.0_02;)。(7)鼠標(biāo)右鍵單擊“變量如圖 1.7 所示:電腦”,選擇“屬性”,在彈出框中選擇“高級”下的環(huán)境圖 1.7 Windows 系統(tǒng)特性界面(8)在“系統(tǒng)變量”中選擇 Path,單擊“編輯”按

6、鈕(如圖 1.8 所示),在彈出的“變量值”文本框中添加“;C:Program FilesJavajdk1.6.0_02bin”,單擊確定按鈕(如圖 1.9 所示)。圖 1.8Windows 系統(tǒng)變量框圖 1.9 編輯系統(tǒng)變量 Path(9)在“系統(tǒng)變量”中單擊“新建”按鈕(如圖 1.10 所示),在彈出框中的“變量名”后輸入 java_home,“變量值”后輸入“C:Program FilesJavajdk1.6.0_02bin”,單擊“確定”按鈕(如圖 1.11 所示)。圖 1.10 選擇“新建”系統(tǒng)變量圖 1.11 新建系統(tǒng)變量 java_home(10)在“環(huán)境變量”下單擊“新建”按鈕

7、,在彈出框中的“變量名”后輸入 classpath,在“變量值”后輸入“C:Program FilesJavajdk1.6.0_02bintools.jar; C:ProgramFilesJavajdk1.6.0_02jrelibrt.jar;.;”,單擊“確定”按鈕(如圖 1.12 所示結(jié)果)。圖 1.12 新建系統(tǒng)變量 classpath(11)至此環(huán)境變量設(shè)置完畢,用戶可以通過在 DOS 環(huán)境下直接鍵入 javac 命令按回車來檢查環(huán)境變量設(shè)置是否,如果設(shè)置則可以看到如圖 1.12 所示結(jié)果。圖 1.12 javac 命令的相關(guān)使用語法在以后需要進(jìn)入 DOS 命令直接編譯和運(yùn)行 Java

8、 程序時,只需進(jìn)入 Java 程序所在的存放目錄,通過 javac 和 Java 命令編譯和執(zhí)行相應(yīng)程序。2. 在 DOS 環(huán)境下編譯運(yùn)行 ApplicationHelloJava.java(1)實(shí)驗(yàn)要求在試驗(yàn) 1 所安裝的 JDK6.0 和設(shè)置的 JDK 路徑的基礎(chǔ)上,使用任意文本編輯器編寫程序 HelloJava.java(代碼見參考代碼),編寫好后,將文件保存成以 HelloJava.java 為文件名的文件。使用 DOS 命令進(jìn)入 HelloJava.java 文件所放的目錄(如圖 1.13 所示,如:C:Example),使用 javac 命令編譯該程序,通過編譯后再該文件夾中會生成

9、一個名為 HelloJava.class 的 class 文件(如圖1.14 所示),該 class 文件包含程序的字節(jié)碼,使用 Java 命令執(zhí)行該 class 文件,可在臺下看到執(zhí)行的結(jié)果(如圖 1.16 所示)。圖1.13 HelloJava.java文件的目錄在DOS環(huán)境下使用【cd 文件名】格式進(jìn)入下一級目錄,然后鍵入javac HelloJava.java編譯程序。(可通過cd.返回上一級目錄)圖1.14 編譯程序HelloJava.java這樣打開Example文件,將發(fā)現(xiàn)系統(tǒng)自動生成了HelloJava.class文件,如圖1.15所示:圖1.15 生成了HelloJava.c

10、lass文件然后繼續(xù)輸入java HelloJava命令,按回車后可以發(fā)現(xiàn)輸出“Hello Java!”,這也就是程序運(yùn)行的結(jié)果(如圖1.16所示)。圖 1.16 一個Application 輸出 Hello Java(2)源程序代碼參考public class HelloJava /輸出Hello Java!/主程序public static void main(String args) System.out.println("Hello Java!");實(shí)驗(yàn) G02:基本數(shù)據(jù)類型和基本操作一、實(shí)驗(yàn)名稱和性質(zhì)二、實(shí)驗(yàn)?zāi)康?學(xué)會使用Java 運(yùn)算符書寫表達(dá)式;

11、熟悉 Java 的文檔管理、編程風(fēng)格和命名習(xí)慣;學(xué)會通過 JOptionPane 實(shí)現(xiàn)框輸入輸出;學(xué)會在臺上實(shí)現(xiàn)輸入輸出。三、實(shí)驗(yàn)內(nèi)容1編寫一個程序,用來計算圓的面積 (驗(yàn)證性實(shí)驗(yàn))。2給出在臺中求兩個實(shí)數(shù)的最大值程序,要求使用框(圖形界面)方式編寫程序?qū)崿F(xiàn)求兩個實(shí)數(shù)的最大值(設(shè)計性實(shí)驗(yàn))。四、實(shí)驗(yàn)的軟硬件環(huán)境要求硬件環(huán)境要求:PC 計算機(jī);內(nèi)存 512MB 以上使用的軟件名稱、版本號以及模塊:操作系統(tǒng): WindowsXP 或 Windows 7軟件:JDK 6.0;DOS 環(huán)境五、知識準(zhǔn)備前期要求掌握的知識:了解 Java 程序表達(dá)式基本實(shí)驗(yàn)相關(guān)理論或原理:和運(yùn)算符的使用方法。*表達(dá)式計算

12、的規(guī)則:可能的情況下,從左向右依次計算所有的表達(dá)式;根據(jù)運(yùn)算符的優(yōu)先級進(jìn)行運(yùn)算;對優(yōu)先級相同的相鄰運(yùn)算符,根據(jù)結(jié)合方向進(jìn)行運(yùn)算。*編程風(fēng)格和文檔(1) 適當(dāng)?shù)淖⑨尯妥⑨岊愋停?) 命名習(xí)慣變量和方法常用小寫,如果包含多個單詞,第二個單詞之后的每個單詞的首字母大寫類的每個單詞首字母大寫常量中所有字母大寫,兩個單詞之間用下劃線連接(3) 適當(dāng)?shù)目s進(jìn)和空白(4) 塊的對齊方式所屬課程面向?qū)ο蟪绦蛟O(shè)計實(shí)驗(yàn)名稱基本數(shù)據(jù)類型和基本操作實(shí)驗(yàn)學(xué)時4實(shí)驗(yàn)性質(zhì) 驗(yàn)證綜合設(shè)計必做/選做 必做選做六、驗(yàn)證性實(shí)驗(yàn)1實(shí)驗(yàn)要求新建、編譯、運(yùn)行 CircleArea.java 程序,運(yùn)行結(jié)果如圖 2.1 所示。圖 2.1 半

13、徑為 20 的圓的面積顯示2源程序代碼參考public class CircleArea /主程序public static void main(String args) double doubleradiusradius; area;= 20;/ 計算圓的面積area = radius * radius * 3.14159;/ 輸出結(jié)果System.out.println("The area for the circle of radius " +radius+ " is " + area);七、設(shè)計性實(shí)驗(yàn)1.在臺實(shí)現(xiàn)輸入輸出的程序(1)實(shí)驗(yàn)要求建立編

14、譯、運(yùn)行程序 CompareTwoNumbers1.java ,在結(jié)果如圖 2.2 所示。臺上實(shí)現(xiàn)輸入和輸出。圖 2.2 比較兩個數(shù)運(yùn)行結(jié)果(2)源程序代碼/ CompareTwoNumbers1.javaimport java.util.Scanner;public class CompareTwoNumbers1 double number1,number2; Scanner scanner;public CompareTwoNumbers1() System.out.println("請輸入兩個數(shù):");scanner=new Scanner(System.in);

15、/實(shí)例化一個Scanner對象number1=scanner.nextDouble(); number2=scanner.nextDouble();System.out.println("較大的數(shù)/從鍵盤輸入一個整數(shù)賦值給number1/從鍵盤輸入一個整數(shù)賦值給number2是:"+(number1>number2?number1:number2);/將number1和number2中的較大數(shù)輸出public static void main(String args) CompareTwoNumbers1 ct=new CompareTwoNumbers1(); Sy

16、stem.exit(0);2. 通過框?qū)崿F(xiàn)輸入輸出的程序(1)實(shí)驗(yàn)要求建立編譯、運(yùn)行程序 CompareTwoNumbers2.java ,通過結(jié)果如圖 2.3 所示???qū)崿F(xiàn)輸入和輸出。圖 2.3 通過圖形界面實(shí)現(xiàn)輸入輸出(2)源程序代碼/CompareTwoNumbers2.javaimport javax.swing.*;public class CompareTwoNumbers2 StringdoubleinputNumber1,inputNumber2;number1,number2;CompareTwoNumbers2()/構(gòu)造方法publicinputNumber1=JOptio

17、nPane.showInputDialog(null, "整數(shù)1:","請輸入",JOptionPane.QUESTION_MESSAGE);/利用JOptionPane類輸入數(shù)1 inputNumber2=JOptionPane.showInputDialog(null, "整數(shù)2:","請輸入",JOptionPane.QUESTION_MESSAGE);/利用JOptionPane類輸入數(shù)2 number1=Double.parseDouble(inputNumber1); number2=Double.pa

18、rseDouble(inputNumber2);JOptionPane.showMessageDialog(null,"較大的整數(shù)是: "+(number1>number2?number1:number2),"運(yùn)行結(jié)果",JOptionPane.INFORMATION_MESSAGE);/將兩個數(shù)比較的結(jié)果在信息窗口中輸出,窗口的標(biāo)題為"運(yùn)行結(jié)果"public static void main(String args) CompareTwoNumbers2 cts=new CompareTwoNumbers2(); System

19、.exit(0);實(shí)驗(yàn) G03:條件語句一、實(shí)驗(yàn)名稱和性質(zhì)二、實(shí)驗(yàn)?zāi)康?. 了解程序設(shè)計的 2 種結(jié)構(gòu):順序、條件;2. 理解 Java 語言中的條件語句:if()、if()else、嵌套if/else 多分支語句和switch()多分支語句;3. 簡單了解break 和 continue 的使用方法。三、實(shí)驗(yàn)內(nèi)容1設(shè)計一個成績等級的類,要求從鍵盤輸入學(xué)生的 Java 成績,該學(xué)生的成績的等級,90:A,8980:B,7970:C,6960:D,60:E(驗(yàn)證性實(shí)驗(yàn))。2用 switch 語句實(shí)現(xiàn) Java 成績等級,同樣要求從鍵盤輸入學(xué)生的 Java 成績,判斷該學(xué)生的成績的等級,90:A,

20、8980:B,7970:C,6960:D,60:E(設(shè)計性實(shí)驗(yàn))。四、實(shí)驗(yàn)的軟硬件環(huán)境要求硬件環(huán)境要求:PC 計算機(jī);內(nèi)存 512MB 以上使用的軟件名稱、版本號以及模塊:操作系統(tǒng): WindowsXP 或 Windows 7軟件:JDK 6.0;DOS 環(huán)境五、知識準(zhǔn)備前期要求掌握的知識:了解 Java 的條件語句使用方法。實(shí)驗(yàn)相關(guān)理論或原理:條件語句有 4 種基本語句: if()、if()else、嵌套 if/else多分支語句和 switch()多分支語句;其中 switch 語句往往和 break 語句相結(jié)合,形成對某種特定條件的。Java 中,有三種可以實(shí)現(xiàn)跳轉(zhuǎn)功能的語句:break

21、、continue、return。break 含義:終止本次條件,從 switch 語句中或終止循環(huán),從循環(huán)中。continue 含義:無條件使轉(zhuǎn)移到循環(huán)語句的條件方法中的返回語句。六、驗(yàn)證性實(shí)驗(yàn)1實(shí)驗(yàn)要求部分,終止本次循環(huán),直接進(jìn)入下一次循環(huán)。return 語句是編譯、運(yùn)行 JavaGrade1.java 程序,運(yùn)行結(jié)果如圖 3.1 和圖 3.2 所示。所屬課程面向?qū)ο蟪绦蛟O(shè)計實(shí)驗(yàn)名稱條件語句實(shí)驗(yàn)學(xué)時4實(shí)驗(yàn)性質(zhì) 驗(yàn)證綜合設(shè)計必做/選做 必做選做圖 3.1 輸入成績2源程序代碼參考/JavaGrade1.javaimport javax.swing.*;public class JavaGra

22、de1 圖 3.2 顯示等級String String doublepublicscoreStr; grade; score;JavaGrade1() scoreStr=JOptionPane.showInputDialog(null,"輸入成績(百分值)");score=Double.parseDouble(scoreStr);if(score>100|score<0)/輸入的成績是否合法JOptionPane.showMessageDialog(null,"輸入信息錯誤!","結(jié)果",JOptionPane.WARNI

23、NG_MESSAGE);/根據(jù)成績,等級Aif(score>=90) grade="A"else if(score>=80&&score<90) grade="B"else if(score>=70&&score<80)/根據(jù)成績,等級B/根據(jù)成績,等級Cgrade="C"else if(score>=60&&score<70) grade="D"elsegrade="E"/根據(jù)成績,等級D/根據(jù)成績,等級

24、EJOptionPane.showMessageDialog(null,"成績?yōu)椋?quot;+score+"n等級為: "+grade,"學(xué)生的成績等級",JOptionPane.INFORMATION_MESSAGE);public static void main(String args) JavaGrade1 gradeJudge=new JavaGrade1(); System.exit(0);七、設(shè)計性實(shí)驗(yàn)1實(shí)驗(yàn)要求編譯、運(yùn)行程序 JavaGrade2.java ,結(jié)果如圖 3.3 所示。圖 3.3 輸入成績2部分源程序代碼/Jav

25、aGrade2.javaimport javax.swing.JOptionPane;public class JavaGrade2 String JavaScore; String grade;int score;public JavaGrade2() 圖 3.4 顯示等級JavaScore=JOptionPane.showInputDialog("輸入一位學(xué)生的Java成績:");score=Integer.parseInt(JavaScore);/成績是否是百分制的成績if(score<=100&&score>=0)switch(score

26、/10)case case case casecase10:9:grade="等級為:A"break; 8:grade="等級為:B"break; 7:grade="等級為:C"break; 6:grade="等級為:D"break;default:grade="等級為:E"elsegrade="輸入錯誤的成績" JOptionPane.showMessageDialog(null,grade,"學(xué)生的成績等級",JOptionPane.INFORMATI

27、ON_MESSAGE);public static void main(String args) JavaGrade2 gradeJudge=new JavaGrade2(); System.exit(0);實(shí)驗(yàn) G04:循環(huán)一、實(shí)驗(yàn)名稱和性質(zhì)二、實(shí)驗(yàn)?zāi)康?、了解 Java 提供結(jié)構(gòu):循環(huán),理解循環(huán)語句的流程;2、熟練掌握使用 while、do while 和 for 語句來語句的重復(fù)。三、實(shí)驗(yàn)內(nèi)容1.編制一個類,用循環(huán)結(jié)構(gòu)實(shí)現(xiàn)簡單的猜數(shù)字:(驗(yàn)證性實(shí)驗(yàn))(1)程序隨機(jī)分配給客戶一個 1100 之間的整數(shù);(2)用戶在輸入框中輸入的猜測;(3) 程序返回提示信息,提示信息分別是:“猜大了”、“

28、猜小了”和“猜對了”;(4) 用戶可根據(jù)提示信息再次輸入猜測,直到提示信息是“猜對了”。2.編寫一個類,在臺中輸出九九乘法表(設(shè)計性實(shí)驗(yàn))。四、實(shí)驗(yàn)的軟硬件環(huán)境要求硬件環(huán)境要求:PC 計算機(jī);內(nèi)存 512MB 以上使用的軟件名稱、版本號以及模塊:操作系統(tǒng): WindowsXP 或 Windows 7軟件:JDK 6.0;DOS 環(huán)境五、知識準(zhǔn)備前期要求掌握的知識:了解 Java 程序的運(yùn)行流程,能夠?qū)崿F(xiàn)循環(huán)實(shí)驗(yàn)相關(guān)理論或原理:。1.while 循環(huán)的語法如下:while(循環(huán)繼續(xù)條件)/循環(huán)體; 語句(組);2. do-while 循環(huán)的語法:do/循環(huán)體; 語句(組);while(循環(huán)繼續(xù)條

29、件)3.for 循環(huán)的語法圖如下:所屬課程面向?qū)ο蟪绦蛟O(shè)計實(shí)驗(yàn)名稱循環(huán)實(shí)驗(yàn)學(xué)時2實(shí)驗(yàn)性質(zhì) 驗(yàn)證綜合設(shè)計必做/選做 必做選做六、驗(yàn)證性實(shí)驗(yàn)1實(shí)驗(yàn)要求編譯、運(yùn)行程序 GuessNumber.java,結(jié)果如圖 4.1 所示。圖 4.1 驗(yàn)證性試驗(yàn)運(yùn)行結(jié)果2部分源程序代碼/GuessNumber.javaimport javax.swing.JOptionPane;public class GuessNumberpublic static void main (String args )JOptionPane.showMessageDialog(null,"給你一個1至100之間的整數(shù),請

30、猜測這個數(shù)");int realNumber=(int)(Math.random()*100)+1;int yourGuess=0;String str=JOptionPane.showInputDialog("輸入您的猜測:"); yourGuess=Integer.parseInt(str); while(yourGuess!=realNumber) /循環(huán)條件if(yourGuess>realNumber)/條件代碼str=JOptionPane.showInputDialog("猜大了,再輸入你的猜測:");yourGuess=I

31、nteger.parseInt(str);else if(yourGuess<realNumber) /條件代碼str=JOptionPane.showInputDialog("猜小了,再輸入你的猜測:");yourGuess=Integer.parseInt(str);JOptionPane.showMessageDialog(null,"恭喜你猜對了!");七、設(shè)計性實(shí)驗(yàn)1.實(shí)驗(yàn)要求建立 MultiplyList.java,實(shí)現(xiàn)在臺中輸出九九乘法表。結(jié)果如圖 4.2 所示:圖 4.2 輸出九九乘法表2部分源程序代碼/MultiplyListpu

32、blic class MultiplyList public static void main(String args) String output=""for(int col=1;col<10;col+)for(int row=1;row<=col;row+)/設(shè)置九九乘法表的行row/設(shè)置九九乘法表的列coloutput+=col+"*"+row+"="+(row*col)+" "九九乘法表的內(nèi)容output+="n"/輸出九九乘法表System.out.println(outp

33、ut);System.exit(0);實(shí)驗(yàn) G05:方法一、實(shí)驗(yàn)名稱和性質(zhì)二、實(shí)驗(yàn)?zāi)康?. 學(xué)會創(chuàng)建方法,調(diào)用方法,給方法傳遞參數(shù);2. 了解如何使用 Math 類中的方法;3. 掌握重載方法的特點(diǎn)和實(shí)現(xiàn)。三、實(shí)驗(yàn)內(nèi)容1. 編寫方法public static int reverse(int number),例如 reverse(52)顯示 25(驗(yàn)證性內(nèi)容)。2. 使用 Math 類中的 Math.pow()函數(shù),通過編寫重載方法實(shí)現(xiàn)求不同類型的數(shù)的立方值。四、實(shí)驗(yàn)的軟硬件環(huán)境要求硬件環(huán)境要求:PC 計算機(jī);內(nèi)存 512MB 以上使用的軟件名稱、版本號以及模塊:操作系統(tǒng): WindowsXP

34、或 Windows 7軟件:JDK 6.0;DOS 環(huán)境五、知識準(zhǔn)備前期要求掌握的知識: 了解 Math 類,掌握對 Java 提供的類的使用方法。實(shí)驗(yàn)相關(guān)理論或原理:1. 在一個類中定義幾個同名的方法,這些方法具有不同的參數(shù)類型,或參數(shù)數(shù)量不同, 或參數(shù)次序不同,這種方法就叫做方法的重載。當(dāng)調(diào)用類中的重載方法時,Java 會自動根據(jù)提供的參數(shù)類型、數(shù)量、次序選擇相應(yīng)的方法來調(diào)用。2. Math 類常用值與函數(shù):Math.PI Math.maxMath.pow的圓周率 Math.abs 求絕對值 Math.sin 正弦函數(shù) Math.asin 反正弦函數(shù)求兩數(shù)中最大 Math.min 求兩數(shù)中

35、最小 Math.sqrt 求開方求某數(shù)的任意次方, 拋出 ArithmeticException 處理溢出異常Math.random 返回 0,1 之間的一個隨機(jī)數(shù)用法實(shí)例:double s=Math.sqrt(7);六、驗(yàn)證性實(shí)驗(yàn)1實(shí)驗(yàn)要求double x=Math.pow(2,3) /計算 2 的 3 次方要求使用遞歸方法編寫 GetReverse.java 文件,并編譯運(yùn)行該程序,結(jié)果如圖 5.1 所示:所屬課程面向?qū)ο蟪绦蛟O(shè)計實(shí)驗(yàn)名稱方法實(shí)驗(yàn)學(xué)時2實(shí)驗(yàn)性質(zhì) 驗(yàn)證綜合設(shè)計必做/選做 必做選做圖 5.1 倒置整數(shù)的實(shí)現(xiàn)2. 程序參考代碼/GetReverse.javaimport java

36、.util.Scanner;public class GetReverse public static void reverse(int number) /reverse 方法的實(shí)現(xiàn)if(number<10) System.out.print(number);elseint num = number%10; System.out.print(num); reverse(number/10);/number的值/遞歸方式實(shí)現(xiàn)public static void main(String args) System.out.println("請輸入任意整數(shù):"); Scann

37、er scanner;scanner=new Scanner(System.in);int intNumber=scanner.nextInt(); System.out.println("倒置后的整數(shù)為:"); reverse(intNumber);七、設(shè)計性實(shí)驗(yàn)1實(shí)驗(yàn)要求用重載方法編寫程序 NumCube.java 文件,求不同類型數(shù)的立方。實(shí)驗(yàn)結(jié)果如圖 5.2 所示:圖 5.2 程序運(yùn)行結(jié)果2. 程序參考代碼/NumCube.javapublic class NumCube static int cube(int i)System.out.println("

38、調(diào)用int cube()方法");return (int)Math.pow(i,3);static float cube(float i) System.out.println("調(diào)用float cube()方法"); return (float)Math.pow(i,3);static double cube(double i) System.out.println("調(diào)用double cube()方法"); return Math.pow(i,3);public static void main(String args) int a=5;S

39、ystem.out.println("a的立方是:"+cube(a);float b=5.0f;System.out.println("b的立方是:"+cube(b);double c=5.0d;System.out.println("c的立方是:"+cube(c);實(shí)驗(yàn) G06:數(shù)組一、實(shí)驗(yàn)名稱和性質(zhì)二、實(shí)驗(yàn)?zāi)康?、理解和掌握數(shù)組的、初始化、應(yīng)用等內(nèi)容;2、熟練掌握和使用數(shù)組來解決實(shí)際問題;3、了解和初步應(yīng)用 java.lang.Math 類的 random()方法處理實(shí)際問題;4、了解并掌握 JDK5.0 中新增的增強(qiáng) for 循

40、環(huán),并用其三、實(shí)驗(yàn)內(nèi)容1.編制一個類,實(shí)現(xiàn)以下功能:(驗(yàn)證性實(shí)驗(yàn))數(shù)組元素。(1)從臺輸入 10 個整數(shù),并存放將它們在一個數(shù)組中;(2)通過數(shù)組對這些數(shù)字用冒泡排序的方法進(jìn)行排序,并輸出到臺上.2. 編寫一個類,隨機(jī)地輸出幾個學(xué)生的成績,已經(jīng)給出的10個學(xué)生選擇的下要求:(設(shè)計性實(shí)驗(yàn))。(1) 隨機(jī)產(chǎn)生3個學(xué)生的學(xué)號;(2) 輸出這3個學(xué)生選擇的學(xué)號和;(3) 計算并輸出這3個學(xué)生的成績。四、實(shí)驗(yàn)的軟硬件環(huán)境要求硬件環(huán)境要求:PC 計算機(jī);內(nèi)存 512MB 以上使用的軟件名稱、版本號以及模塊:操作系統(tǒng): WindowsXP 或 Windows 7軟件:JDK 6.0;DOS 環(huán)境五、知識準(zhǔn)備

41、,實(shí)現(xiàn)以前期要求掌握的知識:數(shù)組的實(shí)驗(yàn)相關(guān)理論或原理:與初始化,數(shù)組的創(chuàng)建,對數(shù)組元素的。數(shù)組是很重要的數(shù)據(jù)結(jié)構(gòu),由同一類型相關(guān)的數(shù)據(jù)結(jié)構(gòu)組成是靜態(tài)實(shí)體,有鏈表,隊列, 堆棧,數(shù)等數(shù)據(jù)結(jié)構(gòu),java 還提出了類數(shù)組的類 vector.這些都是 java 數(shù)據(jù)結(jié)構(gòu)的組成部分, 正如我們學(xué)過的版的數(shù)據(jù)結(jié)構(gòu)。數(shù)組查找:分線性插找和折半查找:對于小型的數(shù)組線性查找效果可能很好,對于大型數(shù)據(jù)效率就很低了,可以用折半查找,效率會很大的提高,折半查找的方法是,例如查找含 63 個元素只需要比較 6 次大小第一次查找下標(biāo)/2=32 查找若大于關(guān)鍵子,則到下標(biāo)為 1-32 中查找,若小與關(guān)鍵子,則到 33-63

42、 中查找,若找不到,繼續(xù)到下一個范圍中找,就是在將 32 分半,以上面的方法以此類推,直到找到為止.六、驗(yàn)證性實(shí)驗(yàn)1、 實(shí)驗(yàn)要求:所屬課程面向?qū)ο蟪绦蛟O(shè)計實(shí)驗(yàn)名稱數(shù)組實(shí)驗(yàn)學(xué)時2實(shí)驗(yàn)性質(zhì) 驗(yàn)證綜合設(shè)計必做/選做 必做選做編譯、運(yùn)行程序 InsertionSort.java,結(jié)果如圖 6.1 所示。圖 6.1 程序運(yùn)行結(jié)果2部分源程序代碼/ InsertionSort.javaimport java.util.*;public class InsertionSort Scanner scanner;int myList;public InsertionSort()myList = new int1

43、0;scanner = new Scanner(System.in);/ 輸入10個整數(shù)System.out.println("請輸入10個整數(shù): ");for(int i = 0;i<10;i+) myListi = scanner.nextInt();sorting_myList(myList); /對myList數(shù)組進(jìn)行冒泡排序System.out.println("排序后的結(jié)果是: ");printList(myList);/ 輸出數(shù)組的元素static void printList(int list) for (int i = 0; i

44、< list.length; i+) System.out.print(listi + " ");System.out.println();/ 排序的方法public void sorting_myList(int list) for (int i = 1; i < list.length; i+) / 對數(shù)組進(jìn)行冒泡排序int intforcurrentElement = listi; k;(k = i-1;k >= 0 && listk > currentElement;k-)listk+1 = listk;listk+1 = c

45、urrentElement; / 對10個整數(shù)進(jìn)行冒泡排序public static void main(String args) InsertionSort insertSort = new InsertionSort();System.exit(0);七、設(shè)計性實(shí)驗(yàn)1.實(shí)驗(yàn)要求建立 Arrayxy_random.java,實(shí)現(xiàn)在6.2 所示:臺中隨機(jī)輸出幾個學(xué)生的成績。結(jié)果如圖圖 6.2 程序運(yùn)行結(jié)果2部分源程序代碼/Arrayxy_random.javapublic class Arrayxy_random char StuAnswers = 'A','B'

46、;,'B','C','A','D','A','D','B','D','A','C','B','D','D','C','B','D','D','B','B','D','C','A','C','C','A'

47、;,'B','A','D','B','C','C','A','D','B','C','A','A','B','D','C','C','C','B','A','D','A','D','A','C','B'

48、;,'A','D','B','B','A','D','C','B',;/10個學(xué)生選擇的char key = 'A','B','A','D','C','A'/題目的標(biāo)準(zhǔn)public Arrayxy_random() int Stu_number;/學(xué)生的學(xué)號(110號)for(int i=0;i<3;i+)Stu_number = (int)(100*Math.ran

49、dom()%10)+1;/隨機(jī)地產(chǎn)生學(xué)生的學(xué)號int grade = JudgeGrade(Stu_number);函數(shù),計算學(xué)號為Stu_number的學(xué)生的成績System.out.println(" 成績是:"+grade);/ 調(diào)用JudgeGrade/輸出隨機(jī)產(chǎn)生的學(xué)號的學(xué)生的,并計算其成績(一個題一分)public int JudgeGrade(int num)int count = 0;System.out.print("學(xué)號為"+num+"的是:");for(int i = 0;i < key.length;i+

50、) System.out.print(StuAnswersnum-1i+" "); if(StuAnswersnum-1i=keyi)count+;return count;public static void main(String args) Arrayxy_random arrandom = new Arrayxy_random(); System.exit(0);實(shí)驗(yàn) G07:對象和類一、實(shí)驗(yàn)名稱和性質(zhì)二、實(shí)驗(yàn)?zāi)康?. 理解對象和類,用類建立對象模型;2. 學(xué)會如何定義類和創(chuàng)建類的對象;3. 在用構(gòu)造方法創(chuàng)建對象時理解構(gòu)造方法的作用;4. 學(xué)會使用關(guān)鍵字 this三

51、、實(shí)驗(yàn)內(nèi)容對象。1. 編寫日期類 MyDate, 定義日期所用變量并進(jìn)行初始化,定義修改日期的方法changeDate() 用布爾變量 flag 來實(shí)現(xiàn)程序的結(jié)束與否,用 displayDate() 輸出日期,用方法showTips() 制出菜單,寫出 main()方法演示程序功能(驗(yàn)證性實(shí)驗(yàn))。2. 編寫一個圓類 Circle,其中有圓周率,半徑和圓對象個數(shù),其中圓周率和圓對象個數(shù)為 static 成員,此外,Circle 中還有兩個 static 方法分別是設(shè)置圓周率和顯示當(dāng)前圓對象個數(shù)的,其余都是實(shí)例成員(設(shè)計性實(shí)驗(yàn))。四、實(shí)驗(yàn)的軟硬件環(huán)境要求硬件環(huán)境要求:PC 計算機(jī);內(nèi)存 512MB

52、 以上使用的軟件名稱、版本號以及模塊:操作系統(tǒng): WindowsXP 或 Windows 7軟件:JDK 6.0;DOS 環(huán)境五、知識準(zhǔn)備前期要求掌握的知識:了解 Java 中類的創(chuàng)建,對象的創(chuàng)建和使用。實(shí)驗(yàn)相關(guān)理論或原理:(1) 在 Java 語言里,對象是一組描述對象的屬性和操作方法的集合,其中屬性表明對象的狀態(tài),方法表明對象的行為。類是對象的定義。一個對象具有哪些屬性和方法,由類來決定。從編程角度看,類是一種復(fù)合數(shù)據(jù)類型,它封裝了一組變量和方法(函數(shù))。(2) 對象與類是不同但是又緊密相聯(lián)的概念。類是對象的定義,對象由類來生成。類與對象的關(guān)系好比鑄造車間里模具與的關(guān)系。模具只有一個,但是

53、用這個模具可以澆鑄出很多成型的出來,模具的形狀決定了澆鑄出來的的外形。在 Java 語言里用 new關(guān)鍵字來生成對象,通常的格式為: 類名 對象名=new 類名(參數(shù));(3)靜態(tài)變量 :類加載時初始化,全類公有,類名.;成員變量: 創(chuàng)建對象過程中初始化,對象公有,對象.六、驗(yàn)證性實(shí)驗(yàn)。所屬課程面向?qū)ο蟪绦蛟O(shè)計實(shí)驗(yàn)名稱對象和類實(shí)驗(yàn)學(xué)時2實(shí)驗(yàn)性質(zhì) 驗(yàn)證綜合設(shè)計必做/選做 必做選做驗(yàn)證性實(shí)驗(yàn) 11實(shí)驗(yàn)要求創(chuàng)建、編譯和運(yùn)行程序 MyDate.java,運(yùn)行結(jié)果如圖 7.1 所示:圖 7.1 日期類運(yùn)行結(jié)果2. 程序參考代碼/MyDate.javaimport import publicintint

54、intjava.util.InputMismatchException; java.util.Scanner;class MyDate year;month;day;int num_order;/ 接受來自命令行的輸入,int類型,只要負(fù)責(zé)showTips()令代號和日期的修改boolean flag = true;/ public MyDate()year = 2012;month = 3;day = 14;/ 構(gòu)造函數(shù)程序的,當(dāng)flag = false時,public MyDate(int year, int month, int day) this.year = year; this.m

55、onth = month; this.day = day;/ showTips()用于提示用戶相關(guān)操作代號public void showTips() System.out.println("1修改年份"); System.out.println("2修改月份"); System.out.println("3修改日期");System.out.println("4修改全部");System.out.println("5修改");public void changeDate() /修改日期的函數(shù)S

56、canner _order = new Scanner(System.in);System.out.print("請輸入您/下面的數(shù)字異常沒有捕獲令:");num_order = _order.nextInt();if (num_order = 1) System.out.println("請輸入新的年份:"); year = _order.nextInt();System.out.println();else if (num_order = 2) System.out.println("請輸入新的月份:"); month = _order.nextInt(); System.out.println();else if (num_order = 3) System.out.println("請輸入新的日份:"); day = _order.nextInt(); System.out.println();else if (num_order = 4) System.out.println("請輸入新的年份:"); year = _order.nextInt(); System.out.println("請輸入新的月份:");

溫馨提示

  • 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

提交評論