java實(shí)驗(yàn)課程教學(xué)大綱孫晶京_第1頁(yè)
java實(shí)驗(yàn)課程教學(xué)大綱孫晶京_第2頁(yè)
java實(shí)驗(yàn)課程教學(xué)大綱孫晶京_第3頁(yè)
java實(shí)驗(yàn)課程教學(xué)大綱孫晶京_第4頁(yè)
java實(shí)驗(yàn)課程教學(xué)大綱孫晶京_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、山西農(nóng)業(yè)大學(xué)Java面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)課程教學(xué)大綱一、課程基本信息課程編碼: 609A2011 課程中文名稱(chēng):java面向?qū)ο蟪绦蛟O(shè)計(jì) 課程英文名稱(chēng): java oriented object program design 實(shí)驗(yàn)學(xué)時(shí):24 實(shí)驗(yàn)學(xué)分:3適用專(zhuān)業(yè):信息與計(jì)算科學(xué) 開(kāi)課學(xué)期:春季大綱執(zhí)筆人:孫晶京 大綱審核人:孫晶京 編寫(xiě)時(shí)間:2014-3二、課程性質(zhì)專(zhuān)業(yè)必修課三、實(shí)驗(yàn)教學(xué)目的與任務(wù)通過(guò)本課程的實(shí)驗(yàn),掌握J(rèn)ava語(yǔ)言的基本語(yǔ)法,學(xué)會(huì)利用面向?qū)ο蟪绦蛟O(shè)計(jì)的基本理論和思想解決實(shí)際問(wèn)題,提高學(xué)生開(kāi)發(fā)和調(diào)試程序的能力。四、實(shí)驗(yàn)課程基本要求在掌握理論支持的基礎(chǔ)上,能夠具備與理論相對(duì)應(yīng)的實(shí)踐

2、開(kāi)發(fā)能力,具體要求與理論要求相同,如下:(1)掌握J(rèn)ava語(yǔ)言的基本語(yǔ)法和基本結(jié)構(gòu);(2)掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本方法;(3)熟練使用封裝、繼承、多態(tài)、抽象類(lèi)、接口技術(shù);(4)掌握java swing圖形用戶(hù)界面編程;(5)掌握jdbc數(shù)據(jù)庫(kù)編程方法;(6)掌握J(rèn)ava異常的處理方法;五、實(shí)驗(yàn)課程內(nèi)容與學(xué)時(shí)分配(請(qǐng)不要隨意變動(dòng)此表的格式):序號(hào)實(shí)驗(yàn)項(xiàng)目名稱(chēng)類(lèi) 型學(xué) 時(shí)基礎(chǔ)綜合設(shè)計(jì)研究創(chuàng)新一Java入門(mén)2二基本數(shù)據(jù)類(lèi)型2三運(yùn)算符、表達(dá)式與語(yǔ)句2四類(lèi)與對(duì)象2五繼承與接口2六內(nèi)部類(lèi)與異常類(lèi)2七面向?qū)ο蠡驹瓌t2八常用實(shí)用類(lèi)2九Java swing圖形用戶(hù)界面2十對(duì)話(huà)框2十一輸入輸出流2十二Jdbc

3、數(shù)據(jù)庫(kù)操作2六、實(shí)驗(yàn)內(nèi)容及教學(xué)要求實(shí)驗(yàn)項(xiàng)目一:java入門(mén)實(shí)驗(yàn)1 一個(gè)簡(jiǎn)單的應(yīng)用程序?qū)嶒?yàn)教學(xué)目標(biāo): 掌握開(kāi)發(fā)java應(yīng)用程序的三個(gè)步驟:編寫(xiě)源文件、編譯源文件和運(yùn)行應(yīng)用程序。實(shí)驗(yàn)場(chǎng)地或主要設(shè)備與器材:計(jì)算機(jī)實(shí)驗(yàn)要求:編寫(xiě)一個(gè)java應(yīng)用程序,該程序在命令行輸出兩行文字:“你好,很高興學(xué)習(xí)java“和”We are student“實(shí)驗(yàn)內(nèi)容:Hello.javapublic class Hello public static void main (String args ) System.out.printf(“你好,很高興學(xué)習(xí)java”); /命令行窗口輸出"你好,很高興學(xué)習(xí)Java

4、" A a=new A(); a.fA(); class A void fA() System.out.printf(“We are students”); /命令行窗口輸出"We are students" 實(shí)驗(yàn)內(nèi)容要求:將【代碼】部分替換為java程序代碼。實(shí)驗(yàn)報(bào)告要求:要有實(shí)驗(yàn)名稱(chēng),實(shí)驗(yàn)?zāi)康?,?shí)驗(yàn)要求,實(shí)驗(yàn)內(nèi)容(源代碼),運(yùn)行結(jié)果和總結(jié)。實(shí)驗(yàn)2教室、老師和學(xué)生實(shí)驗(yàn)教學(xué)目標(biāo): 熟悉java應(yīng)用程序的基本結(jié)構(gòu),并能聯(lián)合編譯應(yīng)用程序所需要的類(lèi)。實(shí)驗(yàn)場(chǎng)地或主要設(shè)備與器材:計(jì)算機(jī)實(shí)驗(yàn)要求:編寫(xiě)3個(gè)源文件:ClassRoom.java ,Teacher.java 和St

5、udent.java,每個(gè)源文件只有一個(gè)類(lèi)。ClassRoom.java含有應(yīng)用程序的主類(lèi),并使用了Teacher和student類(lèi)。將3個(gè)源文件保存到同一目錄中,然后編譯ClassRoom.java實(shí)驗(yàn)內(nèi)容:ClassRoom.javapublic class ClassRoom public static void main (String args ) System.out.printf(“教學(xué)活動(dòng)從教室開(kāi)始”);/命令行窗口輸出"教學(xué)活動(dòng)從教室開(kāi)始" Teacher zhang = new Teacher(); Student jiang = new Student

6、(); roduceSelf(); roduceSelf(); Teacher.javapublic class Teacher void introduceSelf() System.out.printf(“我是張老師”); /命令行窗口輸出"我是張老師" Student.javapublic class Student void introduceSelf() System.out.printf(“我是學(xué)生,名字是:獎(jiǎng)勵(lì)”);/ /命令行窗口輸出"我是學(xué)生,名字是:獎(jiǎng)勵(lì)" 實(shí)驗(yàn)內(nèi)容要求:將【代碼】部分替換為java

7、程序代碼。實(shí)驗(yàn)報(bào)告要求:要有實(shí)驗(yàn)名稱(chēng),實(shí)驗(yàn)?zāi)康?,?shí)驗(yàn)要求,實(shí)驗(yàn)內(nèi)容(源代碼),運(yùn)行結(jié)果和總結(jié)。實(shí)驗(yàn)項(xiàng)目二:基本數(shù)據(jù)類(lèi)型 實(shí)驗(yàn)1 輸出特殊偏旁的漢字實(shí)驗(yàn)教學(xué)目標(biāo): 掌握char型和int型數(shù)據(jù)之間的互相轉(zhuǎn)換,同時(shí)了解unicode字符表。實(shí)驗(yàn)場(chǎng)地或主要設(shè)備與器材:計(jì)算機(jī)實(shí)驗(yàn)要求:編寫(xiě)應(yīng)用程序,在命令行窗口輸出5個(gè)“石“子旁的漢字和5個(gè)”女“子旁的漢字。實(shí)驗(yàn)內(nèi)容:InputChinese.javapublic class E public static void main (String args ) char ch='研',zifu=0; int p=22920,count=5,

8、position=0; System.out.printf("輸出%d個(gè)石字傍的漢字:n",count); for(char c=ch;c<=ch+count;c+) int position = (int)c; /c進(jìn)行int型轉(zhuǎn)換據(jù)運(yùn)算,并將結(jié)果賦值給position System.out.printf("%c(%d)",c,position); System.out.printf("n輸出%d個(gè)女字傍的漢字:n",count); for(int n=p;n<=p+count;n+) 【代碼2】 / n做char型轉(zhuǎn)換

9、運(yùn)算,并將結(jié)果賦值給zifu System.out.printf("%c(%d)",zifu,n); 實(shí)驗(yàn)內(nèi)容要求:將【代碼】部分替換為java程序代碼。實(shí)驗(yàn)報(bào)告要求:要有實(shí)驗(yàn)名稱(chēng),實(shí)驗(yàn)?zāi)康?,?shí)驗(yàn)要求,實(shí)驗(yàn)內(nèi)容(源代碼),運(yùn)行結(jié)果和總結(jié)。實(shí)驗(yàn)2輸入、輸出學(xué)生的基本信息實(shí)驗(yàn)教學(xué)目標(biāo): 掌握從鍵盤(pán)為簡(jiǎn)單型變量輸入數(shù)據(jù)。實(shí)驗(yàn)場(chǎng)地或主要設(shè)備與器材:計(jì)算機(jī)實(shí)驗(yàn)要求:編寫(xiě)應(yīng)用程序,使用Scanner對(duì)象輸入學(xué)生的基本信息,并輸出基本信息。實(shí)驗(yàn)內(nèi)容:InputMess.javaimport java.util.Scanner;public class InputMess public s

10、tatic void main(String args) Scanner reader=new Scanner(System.in); System.out.println("輸入姓名(回車(chē)確認(rèn)):");String name=【代碼1】 /從鍵盤(pán)為name賦值 System.out.println("輸入年齡(回車(chē)確認(rèn)):"); byte age=【代碼2】 /從鍵盤(pán)為age賦值 System.out.println("輸入身高(回車(chē)確認(rèn)):"); float height=【代碼3】 /從鍵盤(pán)為height賦值 System.ou

11、t.printf("%28sn","-基本信息-"); System.out.printf("%10s%-10s","姓名:",name); System.out.printf("%4s%-4d","年齡:",age); System.out.printf("%4s%-4.2f","身高:",height); 實(shí)驗(yàn)內(nèi)容要求:將【代碼】部分替換為java程序代碼。實(shí)驗(yàn)報(bào)告要求:要有實(shí)驗(yàn)名稱(chēng),實(shí)驗(yàn)?zāi)康?,?shí)驗(yàn)要求,實(shí)驗(yàn)內(nèi)容(源代碼),運(yùn)行結(jié)果

12、和總結(jié)。實(shí)驗(yàn)3超大整數(shù)的加法實(shí)驗(yàn)教學(xué)目標(biāo): 掌握使用數(shù)組處理大整數(shù)的加法。實(shí)驗(yàn)場(chǎng)地或主要設(shè)備與器材:計(jì)算機(jī)實(shí)驗(yàn)要求:聲明3個(gè)int型數(shù)組:a,b,c,要求三者的長(zhǎng)度相同。將其中的a,b初始化為大整數(shù)的表示,但大整數(shù)的數(shù)字的長(zhǎng)度必須小于數(shù)組的長(zhǎng)度,以便保證數(shù)組a,b的首元素為0。將a,b的各個(gè)元素進(jìn)行加法運(yùn)算(需要進(jìn)位時(shí),需要改變a的元素的值),結(jié)果依次存放到數(shù)組c中,輸出數(shù)組c。實(shí)驗(yàn)內(nèi)容:HandleLargeNumber.javapublic class HandleLargeNumber public static void main(String args) int a = 0,9,9,

13、7,9,4,5,6,7,2,3,4,5,6,4,7,8,9,8,7,6,9; int b = 0,0,5,9,1,6,4,5,6,2,3,4,5,7,2,1,3,4,0,3,2,9; int c= new inta.length; int i = 0,result =0,k=0; for(i=0;i<a.length;i+) if(ai!=0) k=i; break; for(i=k;i<a.length;i+) System.out.printf("%d",ai); System.out.printf("n加上:n"); for(i=0;i

14、<b.length;i+) if(bi!=0) k=i; break; for(i=k;i<b.length;i+) System.out.printf("%d",bi); for(i=a.length-1;i>=0;i-) result = ai+bi; if(result>=10) ci = result%10; ai-1 = ai-1+1; else ci = result; System.out.printf("n等于:n"); for(i=0;i<c.length;i+) if(ci!=0) k=i; break;

15、 for(i=k;i<c.length;i+) System.out.printf("%d",ci); 實(shí)驗(yàn)內(nèi)容要求:將【代碼】部分替換為java程序代碼。實(shí)驗(yàn)報(bào)告要求:要有實(shí)驗(yàn)名稱(chēng),實(shí)驗(yàn)?zāi)康?,?shí)驗(yàn)要求,實(shí)驗(yàn)內(nèi)容(源代碼),運(yùn)行結(jié)果和總結(jié)。實(shí)驗(yàn)項(xiàng)目三:運(yùn)算符、表達(dá)式與語(yǔ)句 實(shí)驗(yàn)1托運(yùn)行李實(shí)驗(yàn)教學(xué)目標(biāo): 掌握類(lèi)型轉(zhuǎn)換運(yùn)算符。實(shí)驗(yàn)場(chǎng)地或主要設(shè)備與器材:計(jì)算機(jī)實(shí)驗(yàn)要求:(1) 火車(chē)在計(jì)算托運(yùn)行李費(fèi)用時(shí)以kg為單位計(jì)算費(fèi)用(12元/千克),忽略重量中的小數(shù)部分,即忽略不足1kg的部分。(2) 汽車(chē)在計(jì)算托運(yùn)行李費(fèi)用時(shí)以kg為單位計(jì)算費(fèi)用(22元/千克),將重量中的小數(shù)部分進(jìn)行

16、四舍五入,即將不足1kg的部分進(jìn)行四舍五入。(3) 飛機(jī)在計(jì)算托運(yùn)行李費(fèi)用時(shí)以g為單位計(jì)算費(fèi)用(0.062元/克),將重量中的小數(shù)部分,即將不足1kg的部分進(jìn)行四舍五入。用double型變量weight存放行李重量,用charge存放托用費(fèi)用,程序讓用戶(hù)從鍵盤(pán)輸入weight的值,該值是行李的重量(kg為單位),然后程序?qū)⒎謩e計(jì)算出用火車(chē)、汽車(chē)和飛機(jī)托運(yùn)行李的費(fèi)用。實(shí)驗(yàn)內(nèi)容:BaggageAndMony.javaimport java.util.Scanner;public class BaggageAndMony public static void main(String args) in

17、t trainCharge=12; /火車(chē)托運(yùn)計(jì)費(fèi):每公斤12元 int carCharge=22; /汽車(chē)托運(yùn)計(jì)費(fèi):每公斤12元 double planeCharge = 0.062 ;/飛機(jī)托運(yùn)計(jì)費(fèi):每克0.062元 Scanner reader=new Scanner(System.in); double weight,charge; System.out.printf("輸入行李重量:"); weight = reader.nextDouble(); System.out.printf("行李重量:%f公斤(kg)n",weight); Syst

18、em.out.printf("需要計(jì)費(fèi)的重量:%d(kg)n",(int)weight); 【代碼1】 /將表達(dá)式(int)weight*trainCharge的值賦值給charge System.out.printf("用火車(chē)托運(yùn)(%d元/kg),費(fèi)用:%f元n",trainCharge,charge); System.out.printf("需要計(jì)費(fèi)的重量:%d(kg)n",(int)(weight+0.5); 【代碼2】/將表達(dá)式(int)(weight+0.5)*carCharge的值賦值給charge System.out.

19、printf("用汽車(chē)托運(yùn)(%d元/kg),費(fèi)用:%f元n",carCharge,charge); System.out.printf("行李重量:%f克(g)n",weight*1000); System.out.printf("需要計(jì)費(fèi)的重量:%d(g)n",(int)(weight*1000+0.5); 【代碼3】/將表達(dá)式(int)(weight*1000+0.5)*planeCharge的值賦值給charge System.out.printf("用飛機(jī)托運(yùn)(%f元/g),費(fèi)用:%f元n", planeC

20、harge,charge); 實(shí)驗(yàn)內(nèi)容要求:將【代碼】部分替換為java程序代碼。實(shí)驗(yàn)報(bào)告要求:要有實(shí)驗(yàn)名稱(chēng),實(shí)驗(yàn)?zāi)康?,?shí)驗(yàn)要求,實(shí)驗(yàn)內(nèi)容(源代碼),運(yùn)行結(jié)果和總結(jié)。實(shí)驗(yàn)2自動(dòng)售貨機(jī)實(shí)驗(yàn)教學(xué)目標(biāo): 掌握在if-else分支語(yǔ)句的if操作中使用switch語(yǔ)句。實(shí)驗(yàn)場(chǎng)地或主要設(shè)備與器材:計(jì)算機(jī)實(shí)驗(yàn)要求:自動(dòng)售貨機(jī)為用戶(hù)提供各種飲料。飲料的價(jià)格有2種:2元和3元。用戶(hù)投入2元,可以選擇“凈凈礦泉水”、“甜甜礦泉水”和“美美礦泉水”之一。用戶(hù)投入3元,可以選擇“爽口可樂(lè)”、“清涼雪碧”和“雪山果汁”之一。編寫(xiě)程序模擬用戶(hù)向自動(dòng)售貨機(jī)投入錢(qián)幣得到一種飲料。實(shí)驗(yàn)內(nèi)容:MachineSell.javaim

21、port java.util.Scanner;public class MachineSell public static void main(String args) int money; int drinkKind; System.out.printf("投入金額:2或3元(回車(chē)確認(rèn)):"); Scanner reader=new Scanner(System.in); money=reader.nextInt(); if(money=2) System.out.printf("選擇凈凈礦泉水(1),甜甜礦泉水(2)和美美礦泉水(3)之一:n");

22、System.out.printf("輸入1,2或3:"); drinkKind=reader.nextInt(); switch(drinkKind) case 1 : System.out.printf("得到凈凈礦泉水n"); break; case 2 : System.out.printf("得到甜甜礦泉水n"); break; case 3 : System.out.printf("得到美美礦泉水n"); break; default: System.out.printf("選擇錯(cuò)誤"

23、;); else if(money=3) System.out.printf("選擇爽口可樂(lè)(1),清涼雪碧(2),和雪山果汁(3)之一:n"); System.out.printf("輸入1,2或3:"); drinkKind=reader.nextInt(); switch(drinkKind) case 1 : System.out.printf("得到爽口可樂(lè)n"); break; case 2 : System.out.printf("得到清涼雪碧n"); break; case 3 : System.o

24、ut.printf("得到雪山果汁n"); break; default: System.out.printf("選擇錯(cuò)誤"); else System.out.printf("輸入的錢(qián)幣不符合要求"); 實(shí)驗(yàn)內(nèi)容要求:將【代碼】部分替換為java程序代碼。實(shí)驗(yàn)報(bào)告要求:要有實(shí)驗(yàn)名稱(chēng),實(shí)驗(yàn)?zāi)康?,?shí)驗(yàn)要求,實(shí)驗(yàn)內(nèi)容(源代碼),運(yùn)行結(jié)果和總結(jié)。實(shí)驗(yàn)3猜數(shù)字游戲?qū)嶒?yàn)教學(xué)目標(biāo): 使用if-else分支和while循環(huán)語(yǔ)句解決問(wèn)題。實(shí)驗(yàn)場(chǎng)地或主要設(shè)備與器材:計(jì)算機(jī)實(shí)驗(yàn)要求:編寫(xiě)一個(gè)java應(yīng)用程序,在主類(lèi)的main方法中實(shí)現(xiàn)以下功能:l 程序隨

25、即分配給用戶(hù)一個(gè)1-100之間的整數(shù)。l 用戶(hù)輸入自己的猜測(cè)。l 程序返回提示信息,提示信息分別是:“猜大了”、“猜小了”或“猜對(duì)了”。l 用戶(hù)可以根據(jù)提示信息再次輸入猜測(cè),知道提示信息是“猜對(duì)了”。實(shí)驗(yàn)內(nèi)容:GuessNumber.javaner;import java.util.Random;public class GuessNumber public static void main (String args) Scanner reader = new Scanner(System.in); Random random = new Random(); System.out.printl

26、n("給你一個(gè)1至100之間的整數(shù),請(qǐng)猜測(cè)這個(gè)數(shù)"); int realNumber = random.nextInt(100)+1; /random.nextInt(100)是0,100)中的隨機(jī)整數(shù) int yourGuess = 0; System.out.print("輸入您的猜測(cè):"); yourGuess = reader.nextInt(); while(【代碼1】) /循環(huán)條件 if(【代碼2】) /猜大了的條件代碼 System.out.print("猜大了,再輸入你的猜測(cè):"); yourGuess = reade

27、r.nextInt(); else if(【代碼3】) /猜小了的條件代碼 System.out.print("猜小了,再輸入你的猜測(cè):"); yourGuess = reader.nextInt(); System.out.println("猜對(duì)了!"); 實(shí)驗(yàn)內(nèi)容要求:將【代碼】部分替換為java程序代碼。實(shí)驗(yàn)報(bào)告要求:要有實(shí)驗(yàn)名稱(chēng),實(shí)驗(yàn)?zāi)康?,?shí)驗(yàn)要求,實(shí)驗(yàn)內(nèi)容(源代碼),運(yùn)行結(jié)果和總結(jié)。實(shí)驗(yàn)項(xiàng)目四:類(lèi)與對(duì)象 實(shí)驗(yàn)1Tank類(lèi)實(shí)驗(yàn)教學(xué)目標(biāo): 掌握使用類(lèi)來(lái)封裝對(duì)象的屬性和行為。實(shí)驗(yàn)場(chǎng)地或主要設(shè)備與器材:計(jì)算機(jī)實(shí)驗(yàn)要求: 編寫(xiě)一個(gè)java程序,該程序有兩

28、個(gè)類(lèi),Tank類(lèi)(用于刻畫(huà)坦克),F(xiàn)ight主類(lèi)。(1) Tank類(lèi)有一個(gè)double型變量speed,用于刻畫(huà)坦克的速度,一個(gè)int型變量bulletAmount,用于刻畫(huà)坦克的炮彈數(shù)量。定義了speedUp()和speedDown()方法,體現(xiàn)坦克有加速和減速行為;定義了setbulletAmount(int p)方法,用于設(shè)置坦克炮彈的數(shù)量;定義了fire()方法,體現(xiàn)坦克的開(kāi)炮行為。(2) 在主類(lèi)Fight的main方法中用Tank類(lèi)創(chuàng)建坦克,并讓坦克調(diào)用方法設(shè)置炮彈數(shù)量,顯示坦克的加速、減速和開(kāi)炮等行為。實(shí)驗(yàn)內(nèi)容:Tank.javapublic class Tank 【代碼1】/聲明

29、double型變量speed,刻畫(huà)速度 【代碼2】/聲明int型變量bulletAmount,刻畫(huà)炮彈數(shù)量 void speedUp(int s) 【代碼3】 /將s+speed賦值給speed void speedDown(int d) if(speed-d>=0) 【代碼4】 /將speed-d賦值給speed else speed = 0; void setBulletAmount(int m) bulletAmount = m; int getBulletAmount() return bulletAmount; double getSpeed() return speed; v

30、oid fire() if(bulletAmount>=1) 【代碼5】 /將bulletAmount-1賦值給bulletAmount System.out.println("打出一發(fā)炮彈"); else System.out.println("沒(méi)有炮彈了,無(wú)法開(kāi)火"); Fight.javapublic class Fight public static void main(String args) Tank tank1,tank2; tank1 = new Tank(); tank2 = new Tank(); tank1.setBullet

31、Amount(10); tank2.setBulletAmount(10); System.out.println("tank1的炮彈數(shù)量:"+tank1.getBulletAmount(); System.out.println("tank2的炮彈數(shù)量:"+tank2.getBulletAmount(); tank1.speedUp(80); tank2.speedUp(90); System.out.println("tank1目前的速度:"+tank1.getSpeed(); System.out.println("t

32、ank2目前的速度:"+tank2.getSpeed(); tank1.speedDown(15); tank2.speedDown(30); System.out.println("tank1目前的速度:"+tank1.getSpeed(); System.out.println("tank2目前的速度:"+tank2.getSpeed(); System.out.println("tank1開(kāi)火:"); tank1.fire(); System.out.println("tank2開(kāi)火:"); tan

33、k2.fire(); tank2.fire(); System.out.println("tank1的炮彈數(shù)量:"+tank1.getBulletAmount(); System.out.println("tank2的炮彈數(shù)量:"+tank2.getBulletAmount(); 實(shí)驗(yàn)內(nèi)容要求:將【代碼】部分替換為java程序代碼。實(shí)驗(yàn)報(bào)告要求:要有實(shí)驗(yàn)名稱(chēng),實(shí)驗(yàn)?zāi)康?,?shí)驗(yàn)要求,實(shí)驗(yàn)內(nèi)容(源代碼),運(yùn)行結(jié)果和總結(jié)。實(shí)驗(yàn)2計(jì)算機(jī)與光盤(pán)實(shí)驗(yàn)教學(xué)目標(biāo): 掌握對(duì)象的組合以及參數(shù)傳遞。實(shí)驗(yàn)場(chǎng)地或主要設(shè)備與器材:計(jì)算機(jī)實(shí)驗(yàn)要求: 模擬在計(jì)算機(jī)中放入光盤(pán),即計(jì)算機(jī)將C

34、D類(lèi)型的對(duì)象作為自己的一個(gè)成員變量。具體要求如下:(1) 有三個(gè)源文件:CD.java,Computer.java,User.java。其中CD.java中的CD類(lèi)負(fù)責(zé)創(chuàng)建光盤(pán)對(duì)象。Computer.java中Compute類(lèi)有類(lèi)型是CD,名字是includeCD的成員變量,Computer類(lèi)負(fù)責(zé)創(chuàng)建計(jì)算機(jī)對(duì)象。User.java是主類(lèi)。(2) 在主類(lèi)的main方法中首先使用CD類(lèi)創(chuàng)建一個(gè)對(duì)象:dataCD,然后使用Computer類(lèi)再創(chuàng)建一個(gè)對(duì)象:computerIBM,computerIBM對(duì)象將CD的實(shí)例“dataCD”的引用傳遞給computerIBM對(duì)象的成員變量“includeCD

35、”。實(shí)驗(yàn)內(nèi)容:CD.javapublic class CD int size; int content; public void setSize(int size) this.size = size; content = new intsize; public int getSize() return size; public int getContent() return content; public void setContent(int b) int min=Math.min(content.length,b.length); for(int i=0;i<min;i+) cont

36、enti = bi; Computer.javapublic class Computer int data; CD includeCD; public void putCD(CD cd) includeCD = cd; int size=includeCD.getSize(); data=new intsize; void copyToComputer() int b = includeCD.getContent(); int min=Math.min(data.length,b.length); for(int i=0;i<min;i+) datai = bi; public voi

37、d addData(int m) for(int i=0;i<data.length;i+) datai = datai+m; void copyToCD() includeCD.setContent(data); void showData() for(int i=0;i<data.length;i+) System.out.printf("%3d",datai); User.javapublic class User public static void main(String args) CD dataCD = new CD(); int b =1,2,3

38、,4,5,6,7,8; dataCD.setSize(b.length); dataCD.setContent(b); int a=dataCD.getContent(); System.out.println("dataCD上的內(nèi)容:"); for(int i=0;i<a.length;i+) System.out.printf("%3d",ai); Computer computerIMB = new Computer(); 【代碼1】/computerIMB調(diào)用putCD(CD cd)方法,將dataCD的引用傳遞給cd System.out

39、.println("n將dataCD的數(shù)據(jù)復(fù)制到計(jì)算機(jī):computerIMB."); 【代碼2】/computerIMB調(diào)用copyToComputer()方法 System.out.println("computerIMB上的內(nèi)容:"); computerIMB.showData(); int m=12; System.out.println("ncomputerIMB將每個(gè)數(shù)據(jù)增加"+m); computerIMB.addData(m); System.out.println("computerIMB將增值后的數(shù)據(jù)復(fù)制

40、到CD:dataCD"); 【代碼3】/computerIMB調(diào)用copyToCD()方法 System.out.println("dataCD上的內(nèi)容:"); a=dataCD.getContent(); for(int i=0;i<a.length;i+)ntf("%3d",ai); 實(shí)驗(yàn)內(nèi)容要求:將【代碼】部分替換為java程序代碼。實(shí)驗(yàn)報(bào)告要求:要有實(shí)驗(yàn)名稱(chēng),實(shí)驗(yàn)?zāi)康?,?shí)驗(yàn)要求,實(shí)驗(yàn)內(nèi)容(源代碼),運(yùn)行結(jié)果和總結(jié)。實(shí)驗(yàn)3家族的姓氏實(shí)驗(yàn)教學(xué)目標(biāo): 掌握類(lèi)變量和實(shí)例變量以及類(lèi)方法和實(shí)例方法的區(qū)別。實(shí)驗(yàn)場(chǎng)地或主要設(shè)備與器材:計(jì)算機(jī)實(shí)驗(yàn)要

41、求:模擬一個(gè)家族成員的姓氏,姓名有兩部分構(gòu)成:姓氏和名字。編寫(xiě)一個(gè)FamilyPerson類(lèi),該類(lèi)有一個(gè)靜態(tài)的String型成員變量surname,用于存儲(chǔ)姓氏,一個(gè)實(shí)例的String型成員變量name,用于存儲(chǔ)名字。在主類(lèi)MainClass的main方法中首先用類(lèi)名訪問(wèn)surname,并為surname賦值,然后FamilyPerson創(chuàng)建3個(gè)對(duì)象,father,sonOne和sonTwo,并分別為father,sonOne和sonTwo的成員變量name賦值。實(shí)驗(yàn)內(nèi)容:FamilyPerson.javapublic class FamilyPerson static String surn

42、ame; String name; public static void setSurname(String s) surname = s; public void setName(String s) name = s; MainClass.javapublic class MainClass public static void main(String args) 【代碼1】 /用類(lèi)名FamilyPerson訪問(wèn)surname,并為surname賦值:"李" FamilyPerson father,sonOne,sonTwo; father = new FamilyPer

43、son(); sonOne = new FamilyPerson(); sonTwo = new FamilyPerson(); 【代碼2】 /father調(diào)用setName(String s),并向s傳遞"向陽(yáng)" sonOne.setName("抗日"); sonTwo.setName("抗戰(zhàn)"); System.out.println("父親:"+father.surname+); System.out.println("大兒子:"+sonOne.surname+son

44、O); System.out.println("二兒子:"+sonTwo.surname+sonT); 【代碼3】/ father調(diào)用setSurName(String s),并向s傳遞"張" System.out.println("父親:"+father.surname+); System.out.println("大兒子:"+sonOne.surname+sonO); System.out.println("二兒子:"+sonT

45、wo.surname+sonT); 實(shí)驗(yàn)內(nèi)容要求:將【代碼】部分替換為java程序代碼。實(shí)驗(yàn)報(bào)告要求:要有實(shí)驗(yàn)名稱(chēng),實(shí)驗(yàn)?zāi)康模瑢?shí)驗(yàn)要求,實(shí)驗(yàn)內(nèi)容(源代碼),運(yùn)行結(jié)果和總結(jié)。實(shí)驗(yàn)項(xiàng)目五:繼承與接口實(shí)驗(yàn)1 中國(guó)人和美國(guó)人實(shí)驗(yàn)教學(xué)目標(biāo): 鞏固子類(lèi)的繼承性,子類(lèi)對(duì)象的創(chuàng)建過(guò)程以及方法的繼承和重寫(xiě)。實(shí)驗(yàn)場(chǎng)地或主要設(shè)備與器材:計(jì)算機(jī)實(shí)驗(yàn)要求: 編寫(xiě)程序模擬中國(guó)人、美國(guó)人和北京人。要求如下:People類(lèi)有權(quán)限為protected的double型成員變量:weight和height,以及public void speakHello()、public void averageHeight()和p

46、ublic void averageWeight()。ChinaPeople類(lèi)是People的子類(lèi),增加了public void chinaGongfu()方法。要求ChinaPeople重寫(xiě)public void speakHello()、public void averageHeight()和public void averageWeight()方法。AmericanPeople類(lèi)是People的子類(lèi),增加了public void americanBoxing()方法。要求AmericanPeople重寫(xiě)public void speakHello()、public void averag

47、eHeight()和public void averageWeight()方法。BeijingPeople 類(lèi)是 ChinaPeople的子類(lèi),增加了public void beijingOpera()方法。要求BeijingPeople重寫(xiě)public void speakHello()、public void averageHeight()和public void averageWeight()方法。實(shí)驗(yàn)內(nèi)容:People.javapublic class People protected double weight,height; public void speakHello() Sys

48、tem.out.println("yayayaya"); public void averageHeight() height=173; System.out.println("average height:"+height); public void averageWeight() weight=70; System.out.println("average weight:"+weight); ChinaPeople.javapublic class ChinaPeople extends People public void sp

49、eakHello() System.out.println("您好"); public void averageHeight() height = 168.78; System.out.println("中國(guó)人的平均身高:"+height+" 厘米"); 【代碼1】 /重寫(xiě)public void averageWeight()方法,輸出:"中國(guó)人的平均體重:65公斤" public void chinaGongfu() System.out.println("坐如鐘,站如松,睡如弓"); Ame

50、ricanPeople.javapublic class AmericanPeople extends People 【代碼2】 /重寫(xiě)public void speakHello()方法,輸出"How do you do" 【代碼3】 /重寫(xiě)public void averageHeight()方法,輸出"American's average height:176 cm" public void averageWeight() weight = 75; System.out.println("American's average weight:"+weight+" kg"); public void americanBoxing() System.out.println("直拳、鉤拳、組合拳"); BeijingPeople.javapublic class BeijingPeople extends ChinaPeople 【代碼4】

溫馨提示

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

評(píng)論

0/150

提交評(píng)論