實(shí)驗(yàn)指導(dǎo)與習(xí)題解答_第1頁(yè)
實(shí)驗(yàn)指導(dǎo)與習(xí)題解答_第2頁(yè)
實(shí)驗(yàn)指導(dǎo)與習(xí)題解答_第3頁(yè)
實(shí)驗(yàn)指導(dǎo)與習(xí)題解答_第4頁(yè)
實(shí)驗(yàn)指導(dǎo)與習(xí)題解答_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Java 實(shí)驗(yàn)指導(dǎo)與習(xí)題解答程紹輝東北大學(xué)秦皇島分校2003.11目錄Java 實(shí)驗(yàn)指導(dǎo)1實(shí)驗(yàn)?zāi)康呐c要求1實(shí)驗(yàn)一 JDK開發(fā)工具1實(shí)驗(yàn)二 基本輸入輸出3實(shí)驗(yàn)三 Java語(yǔ)言基礎(chǔ)4實(shí)驗(yàn)四 順序結(jié)構(gòu)6實(shí)驗(yàn)五 分支語(yǔ)句8實(shí)驗(yàn)六 循環(huán)語(yǔ)句10實(shí)驗(yàn)七 數(shù)組11實(shí)驗(yàn)八 類與對(duì)象12實(shí)驗(yàn)九 繼承與多態(tài)14實(shí)驗(yàn)十 異常處理18實(shí)驗(yàn)十一 常用基礎(chǔ)類庫(kù)與工具類庫(kù)20實(shí)驗(yàn)十二 用戶自定義成分21實(shí)驗(yàn)十三 GUI標(biāo)準(zhǔn)組件及事件處理22實(shí)驗(yàn)十四 Applet23實(shí)驗(yàn)十五 流式輸入輸出26實(shí)驗(yàn)十六 多線程機(jī)制28實(shí)驗(yàn)十七 網(wǎng)絡(luò)編程30實(shí)驗(yàn)十八 JDBC技術(shù)32實(shí)驗(yàn)十九 Sevlet與JSP33習(xí)題解答37第一章程序設(shè)計(jì)基

2、礎(chǔ)37第二章 Java語(yǔ)言概述39第三章 Java語(yǔ)言基礎(chǔ)41第四章結(jié)構(gòu)化編程43第五章面向?qū)ο缶幊?5第七章常用基礎(chǔ)類庫(kù)與工具類庫(kù)47第八章圖形用戶界面49第九章 Applet51Java語(yǔ)言程序設(shè)計(jì)期末復(fù)習(xí)綜合練習(xí)題60Java 實(shí)驗(yàn)指導(dǎo)實(shí)驗(yàn)?zāi)康呐c要求上機(jī)實(shí)驗(yàn)是一個(gè)重要教學(xué)環(huán)節(jié)。根據(jù)課程的教學(xué)計(jì)劃,應(yīng)當(dāng)在講授課程內(nèi)容的同時(shí),每周安排一定時(shí)間的上機(jī)實(shí)驗(yàn)。通過系統(tǒng)地上機(jī)練習(xí),力求能夠達(dá)到以下四個(gè)目的:(1)加深學(xué)生對(duì)課堂講授內(nèi)容的理解,從計(jì)算機(jī)語(yǔ)言的基本概念、程序設(shè)計(jì)的基本方法、語(yǔ)法規(guī)則等方面加深理解,打好程序設(shè)計(jì)、開發(fā)軟件的良好基礎(chǔ)。(2)在上機(jī)實(shí)驗(yàn)中,提高學(xué)生對(duì)Java語(yǔ)言各部分內(nèi)容的綜合

3、使用能力,逐步掌握J(rèn)ava語(yǔ)言程序設(shè)計(jì)的規(guī)律與技巧。(3)在對(duì)Java程序的調(diào)試過程中,提高學(xué)生分析程序中出現(xiàn)的錯(cuò)誤和排除這些錯(cuò)誤的能力。(4)通過上機(jī)實(shí)踐,加深學(xué)生對(duì)計(jì)算機(jī)軟件運(yùn)行環(huán)境,以及對(duì)操作系統(tǒng)與計(jì)算機(jī)語(yǔ)言支持系統(tǒng)相互關(guān)系的了解。對(duì)學(xué)生上機(jī)實(shí)驗(yàn)提出以下要求:(1)上機(jī)實(shí)驗(yàn)之前,學(xué)生應(yīng)當(dāng)為每次上機(jī)的內(nèi)容作好充分準(zhǔn)備。對(duì)每次上機(jī)需要完成的題目進(jìn)行認(rèn)真的分析,列出實(shí)驗(yàn)具體步驟,寫出符合題目要求的程序清單,準(zhǔn)備出調(diào)試程序使用的數(shù)據(jù),以便提高上機(jī)實(shí)驗(yàn)的效率。(2)按照實(shí)驗(yàn)?zāi)康暮蛯?shí)驗(yàn)內(nèi)容以及思考題的要求進(jìn)行上機(jī)操作。錄入程序,編譯調(diào)試,反復(fù)修改,直到使程序正常運(yùn)行,得出正確的輸出結(jié)果為止。(3)根

4、據(jù)實(shí)驗(yàn)結(jié)果,寫出實(shí)驗(yàn)報(bào)告。實(shí)驗(yàn)報(bào)告應(yīng)當(dāng)包括:實(shí)驗(yàn)題目,程序清單,運(yùn)行結(jié)果,以及通過上機(jī)取得了哪些經(jīng)驗(yàn)。實(shí)驗(yàn)一 JDK開發(fā)工具一、實(shí)驗(yàn)?zāi)康?熟悉JDK開發(fā)環(huán)境。2熟悉EditPlus編輯器的使用。3掌握J(rèn)ava Application的程序結(jié)構(gòu)和開發(fā)過程。4了解Java Applet的功能與程序結(jié)構(gòu)。二、實(shí)驗(yàn)內(nèi)容1JDK開發(fā)環(huán)境(1)開發(fā)環(huán)境安裝在“C:JDK1.2.1”目錄下。(2)設(shè)置環(huán)境變量PATH和CLASSPATH(如果在autoexec.bat中沒有進(jìn)行設(shè)置)。進(jìn)入命令行(MS-DOS)方式,進(jìn)行如下設(shè)置:SET PATH=C:JDK1.2.1BIN;%PATH%SET CLASSP

5、ATH=.; %CLASSPATH%2EditPlus編輯器(1)單擊“開始”菜單,選擇“程序”,選擇“EditPlus”,單擊“EditPlus”項(xiàng)。(2)在“File”菜單中選擇“New”建立新文件;“Open”打開已存在的文件;“Save”保存文件;“Close”關(guān)閉文件。(3)在“Edit”菜單中選擇“Undo”取消上次操作;“Redo”重復(fù)上次操作;“Cut”塊剪切;“Copy”塊復(fù)制;“Paste”塊粘貼;“Delete”塊刪除。(4)在“Search”菜單中選擇“Find”查找;“Change”查找并替換。3掌握J(rèn)ava Application程序開發(fā)過程(1)打開EditPlu

6、s編輯器。(2)鍵入如下程序:import java.io.*;public class HelloWorld1public static void main(String arg)System.out.println(Hello World!); (3)檢查無(wú)誤后(注意大小寫)保存文件??蓪⑽募4嬖凇癉:Java”目錄中,注意文件名為HelloWorld1.java。(4)進(jìn)入命令行(MS-DOS)方式,設(shè)定當(dāng)前目錄為“D:Java”,運(yùn)行Java編譯器:D:Javajavac HelloWorld1.java(5)如果輸出錯(cuò)誤信息,則根據(jù)錯(cuò)誤信息提示的錯(cuò)誤所在行返回EditPlus編輯器

7、進(jìn)行修改。常見錯(cuò)誤是類名與文件名不一致、當(dāng)前目錄中沒有所需源程序、標(biāo)點(diǎn)符號(hào)全角等。如果沒有輸出任何信息或者出現(xiàn)“deprecation”警告,則認(rèn)為編譯成功,此時(shí)會(huì)在當(dāng)前目錄中生成HelloWorld1.class文件。(6)利用Java解釋器運(yùn)行這個(gè)Java Application程序,并查看運(yùn)行結(jié)果。D:Javajava HelloWorld14了解下面的Java Applet的程序結(jié)構(gòu)和開發(fā)過程。import java.awt.Graphics;import java.applet.Applet;public class HelloWorld2 extends Appletpublic

8、void paint(Graphics g) g.drawString(Hello World!,25,25);5.了解下面程序的結(jié)構(gòu)。class People float hight,weight; String head, ear, mouth; void speak (String s) System.out.println(s) ; class A public static void main(String args ) People zhubajie; zhubajie=new People(); zhubajie.weight=200f; zhubajie.hight=1.70f

9、;zhubajie.head=大頭; zhubajie.ear=兩只大耳朵 ; zhubajie.mouth=一只大嘴; System.out.println ( 重量+zhubajie.weight + 身高+zhubajie.hight) ; System.out.println ( zhubajie.head+zhubajie.mouth+zhubajie.ear) ; zhubajie.speak(師傅,咱們別去西天了,改去月宮吧.);三、思考題1什么是Java虛擬機(jī)?它的作用是什么?2Java Application程序與Java Applet程序的不同之處有那些?實(shí)驗(yàn)二 基本輸入輸

10、出一、實(shí)驗(yàn)?zāi)康?掌握標(biāo)準(zhǔn)輸入輸出處理。2掌握BufferedReader類的使用方法。二、實(shí)驗(yàn)內(nèi)容1運(yùn)行下面的程序,掌握J(rèn)ava Application標(biāo)準(zhǔn)輸入輸出。import java.io.*;public class SimpleCharInOut public static void main(String arg) char c= ; System.out.print(Enter a character please:); try c=(char)System.in.read(); catch(IOException e); System.out.println(Youre ent

11、ered character +c); 2運(yùn)行下面的程序,掌握BufferedReader類的使用方法。import java.io.*;public class apublic static void main(String args) throws IOException int i; float f,r;BufferedReader din = new BufferedReader(new InputStreamReader(System.in); System.out.print(input i: ); i=Integer.parseInt(din.readLine(); System

12、.out.print(input f: ); f=Float.parseFloat(din.readLine(); r=i+f; System.out.println(i+f+=+r); 三、思考題1使用BufferedReader類從鍵盤接收一個(gè)整數(shù)和一個(gè)實(shí)數(shù),計(jì)算它們的和,然后在屏幕上輸出。提示:關(guān)鍵語(yǔ)句如下: BufferedReader din = new BufferedReader( new InputStreamReader(System.in); i=Integer.parseInt(din.readLine(); f=Float.parseFloat(din.readLine

13、();2本實(shí)驗(yàn)的實(shí)驗(yàn)內(nèi)容1中為什么要使用try-catch語(yǔ)句?實(shí)驗(yàn)三 Java語(yǔ)言基礎(chǔ)一、實(shí)驗(yàn)?zāi)康?掌握標(biāo)識(shí)符的定義規(guī)則。2掌握表達(dá)式的組成。3掌握各種數(shù)據(jù)類型及其使用方法。4理解定義變量的作用,掌握定義變量的方法。5掌握各種運(yùn)算符的使用及其優(yōu)先級(jí)控制。二、實(shí)驗(yàn)內(nèi)容1運(yùn)行下面的程序,掌握變量定義與數(shù)據(jù)類型。import java.io.*;public class SimpleTypes public static void main(String args) byte b=055; short s=0x55ff; int i=1000000; long l=3615L; char c=c;

14、 float f=0.23F; double d=0.7E-3; boolean bool=true; System.out.println(b=+b); System.out.println(s=+s); System.out.println(i=+i); System.out.println(l=+l); System.out.println(c=+c); System.out.println(f=+f); System.out.println(d=+d); System.out.println(bool=+bool); 2運(yùn)行下面的程序,掌握算術(shù)運(yùn)算。import java.io.*;p

15、ublic class ArithmaticOp public static void main(String args) int a=5+4; /a=9 int b=a*2; /b=18 int c=b/4; /c=4 int d=b-c; /d=14 int e=-d; /e=-14 int f=e%4; /f=-2 double g=18.4; double h=g%4; /h=2.4 int i=3; int j=i+; /i=4,j=3 int k=+i; /i=5,k=5 System.out.println(a=+a); System.out.println(b=+b); Sys

16、tem.out.println(c=+c); System.out.println(d=+d); System.out.println(e=+e); System.out.println(f=+f); System.out.println(g=+g); System.out.println(h=+h); System.out.println(i=+i); System.out.println(j=+j); System.out.println(k=+k); 3運(yùn)行下面的程序,掌握關(guān)系運(yùn)算與邏輯運(yùn)算import java.io.*;public class RelationAndConditio

17、nOp2 public static void main(String args) int a=25,b=3; boolean d=a5); System.out.println(e+!=0&+a+/+e+5=+d); int f=0; d=(f!=0&a/f5); System.out.println(f+!=0&+a+/+f+5=+d); d=(f!=0&a/f5); System.out.println(f+!=0&+a+/+f+5=+d); 三、思考題1定義變量的作用是什么?2Java運(yùn)算符的優(yōu)先級(jí)與結(jié)合性是怎樣的?3將本實(shí)驗(yàn)的實(shí)驗(yàn)內(nèi)容1中的 long l=3615L;改為:long

18、l=3615;會(huì)出現(xiàn)什么情況?為什么?提示:缺省的整型常量為int型,long型常量后面要加l或L。4.將本實(shí)驗(yàn)的實(shí)驗(yàn)內(nèi)容1中的 float f=0.23F;改為:float f=0.23;會(huì)出現(xiàn)什么情況?為什么?提示:缺省的浮點(diǎn)型常量為雙精度(double)型,單精度(float)型常量后面加f或F。5分析本實(shí)驗(yàn)的實(shí)驗(yàn)內(nèi)容2中的語(yǔ)句 int j=i+; int k=+i;的執(zhí)行過程。提示: j=i i=i+1 以及 i=i+1 k=i6分析本實(shí)驗(yàn)的實(shí)驗(yàn)內(nèi)容3中的語(yǔ)句d=(f!=0&a/f5);和語(yǔ)句d=(f!=0&a/f5);有什么區(qū)別?提示:對(duì)于快速邏輯與運(yùn)算,當(dāng)運(yùn)算符左側(cè)表達(dá)式的值為tr

19、ue時(shí),不再計(jì)算右側(cè)表達(dá)式的值。實(shí)驗(yàn)四 順序結(jié)構(gòu)一、實(shí)驗(yàn)?zāi)康?理解定義變量的作用,掌握定義變量的方法。2掌握順序結(jié)構(gòu)程序控制。3掌握算法與程序設(shè)計(jì)的基本方法。二、實(shí)驗(yàn)內(nèi)容1已知半徑r5,求圓的面積。2已知半徑r5,求球的體積。3用戶輸入圓的半徑r,求圓的面積。4用戶輸入球的半徑r,求球的體積。5已知半徑r5,高h(yuǎn)10 求圓柱的表面積。6已知半徑r5,高h(yuǎn)10 求圓柱的體積。7已知三角形三條邊長(zhǎng)為3,4,5 求面積。8已知注水管需要3小時(shí)注滿水,排水管需要5小時(shí)排空,同時(shí)打開,問多長(zhǎng)時(shí)間注滿水?9輸入注水管單獨(dú)注滿水時(shí)間,排水管單獨(dú)排空水時(shí)間,問:同時(shí)打開,多長(zhǎng)時(shí)間注滿水?10同一個(gè)籠子里,有一

20、些雞和兔子,如果這些雞和兔子一共有40個(gè)頭,100只腳,請(qǐng)問籠內(nèi)有雞和兔各多少只?三、思考題1定義變量的作用是什么?2算法的作用是什么?3將本實(shí)驗(yàn)的實(shí)驗(yàn)內(nèi)容8這樣編程對(duì)不對(duì)?為什么?double v;double inspeed=3.0;double outspeed=5.0;double needtime;needtime=v/(v/inspeed-v/outspeed);提示:編程之前要先設(shè)計(jì)好算法。4. 將本實(shí)驗(yàn)的實(shí)驗(yàn)內(nèi)容10這樣編程對(duì)不對(duì)?為什么?int x,y,h40,f=100;x+y=h;2x+4y=f;System.out.print(“cock:”+x+”rabbit:”+y

21、);或:int x,y,h=40,f=100;hx+y;f=2x+4y;System.out.print(“cock:”+x+”rabbit:”+y);提示:編程之前要先設(shè)計(jì)好算法。注意賦值操作符的含義和用法。5. 復(fù)習(xí)輸入變量值的方法:public static void main(String args) throws IOException float r;BufferedReader din = new BufferedReader(new InputStreamReader(System.in); r=Float.parseFloat(din.readLine(); 實(shí)驗(yàn)五 分支語(yǔ)句

22、一、實(shí)驗(yàn)?zāi)康?掌握if語(yǔ)句、if-else-if結(jié)構(gòu)的使用。2掌握switch語(yǔ)句的使用。二、實(shí)驗(yàn)內(nèi)容1使用簡(jiǎn)單if語(yǔ)句編程,從鍵盤鍵入三個(gè)整數(shù),然后按照從小到大的順序?qū)⑵漭敵觥?分別使用if-else-if語(yǔ)句和switch語(yǔ)句編程,確定某一月在哪個(gè)季節(jié)。三、思考題1使用if語(yǔ)句實(shí)現(xiàn)單分支、兩分支和使用switch語(yǔ)句實(shí)現(xiàn)多分支的程序程序結(jié)構(gòu)和流程分別是什么?2使用if語(yǔ)句和switch語(yǔ)句都可以實(shí)現(xiàn)多分支,它們之間的區(qū)別是什么?3編程輸入學(xué)生的學(xué)習(xí)成績(jī)的等級(jí),給出相應(yīng)的成績(jī)范圍。設(shè)A級(jí)為85分以上(包括85分);B級(jí)為70分以上(包括70分);C級(jí)為60分以上(包括60分);D級(jí)為60分以

23、下。分別使用if語(yǔ)句和switch語(yǔ)句實(shí)現(xiàn)。提示:使用switch語(yǔ)句的關(guān)鍵代碼如下: switch(grade) caseA:System.out.println(grade+ is 85100); break; caseB:System.out.println(grade+ is 7084); break; caseC:System.out.println(grade+ is 6069); break; caseD:System.out.println(grade+ is60); break; default:System.out.println( input error); 4編程輸入學(xué)

24、生的學(xué)習(xí)成績(jī)的等級(jí),給出該等級(jí)是否及格的信息。A、B、C級(jí)為及格;D級(jí)為不及格。分別使用if語(yǔ)句和switch語(yǔ)句實(shí)現(xiàn)。提示:使用switch語(yǔ)句時(shí),應(yīng)結(jié)合break語(yǔ)句完成,關(guān)鍵代碼如下: switch(grade) caseA: caseB: caseC:System.out.println(grade+ is=60); break; caseD:System.out.println(grade+ is60); break; default:System.out.println( input error); 5編程輸入學(xué)生的學(xué)習(xí)成績(jī),給出相應(yīng)的等級(jí)。設(shè)85分以上(包括85分)為A級(jí);70分

25、以上(包括70分)為B級(jí);60分以上(包括60分)為C級(jí);60分以下為D級(jí)。分別使用if語(yǔ)句和switch語(yǔ)句實(shí)現(xiàn)。提示:使用if語(yǔ)句時(shí),應(yīng)使用if語(yǔ)句的嵌套或if-else-if的形式,關(guān)鍵代碼如下:if(x=85) System.out.println(x+屬于A級(jí).);else if(x=70) System.out.println(x+屬于B級(jí).);else if(x=60) System.out.println(x+屬于C級(jí).);else if(x60) System.out.println(x+屬于D級(jí).);switch語(yǔ)句的給定條件要求是數(shù)值而非邏輯值,所以應(yīng)結(jié)合if語(yǔ)句共同完成

26、。實(shí)驗(yàn)六 循環(huán)語(yǔ)句一、實(shí)驗(yàn)?zāi)康?掌握使用while語(yǔ)句實(shí)現(xiàn)循環(huán)。2了解使用do-while語(yǔ)句實(shí)現(xiàn)循環(huán)。3掌握使用for語(yǔ)句實(shí)現(xiàn)循環(huán)。4了解continue語(yǔ)句和break語(yǔ)句的使用。二、實(shí)驗(yàn)內(nèi)容1分別使用while、do-while和for語(yǔ)句編程,求1100的和。2使用continue語(yǔ)句實(shí)現(xiàn):將100300之間的不能被3整除的數(shù)輸出。3使用break語(yǔ)句實(shí)現(xiàn)記數(shù):從1100,當(dāng)數(shù)到78時(shí)程序終止。三、思考題1使用while、do-while和for語(yǔ)句實(shí)現(xiàn)循環(huán)的程序程序結(jié)構(gòu)和流程分別是什么?2使用while、do-while和for語(yǔ)句實(shí)現(xiàn)循環(huán)的區(qū)別是什么?3分別使用while、do-w

27、hile和for語(yǔ)句編程,找出所有的水仙花數(shù)并輸出。水仙花數(shù)是三位數(shù),它的各位數(shù)字的立方和等于這個(gè)三位數(shù)本身,例如:371=33+73+13,371就是一個(gè)水仙花數(shù)。提示:使用while語(yǔ)句的關(guān)鍵代碼如下:while(x=3)提示:關(guān)鍵代碼如下: f0=f1=1; for(i=2;i10;i+) fi=fi-1+fi-2;3編程采用冒泡法實(shí)現(xiàn)對(duì)數(shù)組元素由小到大排序。冒泡法排序?qū)ο噜彽膬蓚€(gè)元素進(jìn)行比較,并把小的元素交換到前面。提示:關(guān)鍵代碼如下: for(i=0;iintArray.length-1;i+) for(j=i+1;jintArrayj) t=intArrayi;intArrayi=

28、intArrayj;intArrayj=t; 實(shí)驗(yàn)八 類與對(duì)象一、實(shí)驗(yàn)?zāi)康?掌握類的聲明。2掌握對(duì)象的創(chuàng)建。3掌握方法的定義和調(diào)用。4掌握構(gòu)造函數(shù)的使用。二、實(shí)驗(yàn)內(nèi)容1編程創(chuàng)建一個(gè)Box類,在其中定義三個(gè)變量表示一個(gè)立方體的長(zhǎng)、寬和高,再定義一個(gè)方法setDemo對(duì)這三個(gè)變量進(jìn)行初始化,然后定義一個(gè)方法求立方體的體積。創(chuàng)建一個(gè)對(duì)象,求給定尺寸的立方體的體積。2將上題的方法setDemo改用構(gòu)造函數(shù)實(shí)現(xiàn)初始化。三、思考題1一個(gè)方法或一個(gè)塊內(nèi)定義的變量是否可以在方法外或塊外使用?這種變量稱為什么?方法的形式參數(shù)是否可以在方法之外使用?2為什么說(shuō)構(gòu)造函數(shù)是一種特殊的方法?特殊在哪里?構(gòu)造函數(shù)什么時(shí)候

29、執(zhí)行?被誰(shuí)調(diào)用?3編程創(chuàng)建一個(gè)Point類,在其中定義兩個(gè)變量表示一個(gè)點(diǎn)的坐標(biāo)值,再定義構(gòu)造函數(shù)初始化為坐標(biāo)原點(diǎn),然后定義一個(gè)方法實(shí)現(xiàn)點(diǎn)的移動(dòng),再定義一個(gè)方法打印當(dāng)前點(diǎn)的坐標(biāo)。并創(chuàng)建一個(gè)對(duì)象驗(yàn)證。提示:關(guān)鍵代碼如下: void move(int newX,int newY) x=newX; y=newY; void print() System.out.println(name+:x=+x+ y=+y); p.print(); p.move(50,50); System.out.println(*after moving*); p.print(); /call method of an obj

30、ect4定義一個(gè)類實(shí)現(xiàn)銀行帳戶的概念,包括的變量有“帳號(hào)”和“存款余額”,包括的方法有“存款”、“取款”和“查詢余額”。定義主類,創(chuàng)建帳戶類的對(duì)象,并完成相應(yīng)操作。提示:關(guān)鍵代碼如下:public int getleftmoney()return leftmoney;public void savemoney(double money)leftmoney+=money;public void getmoney(double money)if(money=leftmoney)leftmoney-=money;elseSystem.out.println(只能取:+leftmoney);banka

31、ccount ba=new bankaccount(123456,1000);ba.savemoney(2000);System.out.println(存入2000元后余額為:+ba.getleftmoney();ba.getmoney(1500);System.out.println(1500元后余額為:+ba.getleftmoney();實(shí)驗(yàn)九 繼承與多態(tài)一、實(shí)驗(yàn)?zāi)康?掌握類的繼承方法。2掌握變量的繼承和覆蓋。3掌握方法的繼承、重載和覆蓋。4了解接口的實(shí)現(xiàn)方法。二、實(shí)驗(yàn)內(nèi)容1運(yùn)行下面的程序,理解成員變量的繼承與隱藏。import java.io.*;class sum_3 int su

32、m,num1,num2; static int num3; /定義構(gòu)造函數(shù)初始化對(duì)象 sum_3() num1=0; num2=0; num3=0; sum=0; class sub_sum3 extends sum_3 int sum,num1,num2; /隱藏父類sum_3中的實(shí)例變量 static int num3; /隱藏父類sum_3中的類變量 void sum(int i,int j,int k) num1=i; num2=j; num3=k; sum=num1+num2+num3; public class computing public static void main (

33、String arg) sub_sum3 m1=new sub_sum3(); m1.sum(100,200,300); System.out.println(sum=+m1.num1+m1.num2+m1.num3+=+m1.sum); 2運(yùn)行下面的程序,理解方法的繼承。class Sort3 double max1,max2,max3; Sort3() max1=-1; max2=-1; max3=-1; void sort() double s; if (max1max2)s=max1;max1=max2;max2=s; if (max1max3)s=max1;max1=max3;max

34、3=s; if (max2max3)s=max2;max2=max3;max3=s; class sub_Sort3 extends Sort3 void subsort(double i,double j,double k) max1=i; max2=j; max3=k; sort(); /調(diào)用父類中的方法sort() public class Class1 public static void main (String args) sub_Sort3 m1 = new sub_Sort3(); m1.subsort(100,200,300); System.out.println(三個(gè)數(shù)從

35、大到小為:+m1.max1+,+m1.max2+,+m1.max3); 3運(yùn)行下面的程序,理解方法的重載。class Sort2or3 double max1,max2,max3; Sort2or3() max1=-1; max2=-1; max3=-1; void sort(double i,double j) double s; max1=i; max2=j; if(max1max2)s=max1;max1=max2;max2=s; void sort(double i,double j,double k) double s; max1=i; max2=j; max3=k; if (max

36、1max2)s=max1;max1=max2;max2=s; if (max1max3)s=max1;max1=max3;max3=s; if (max2max3)s=max2;max2=max3;max3=s; public class Class1 public static void main (String args) Sort2or3 m1 = new Sort2or3(); m1.sort(100,200); System.out.println(兩個(gè)數(shù)從大到小為:+m1.max1+,+m1.max2); m1.sort(50,150,100); System.out.printl

37、n(三個(gè)數(shù)從大到小為:+m1.max1+,+m1.max2+,+m1.max3); 4運(yùn)行下面的程序,理解方法的覆蓋。class sort_Demo int i,j,k,swap; sort_Demo() i=j=k=swap=0; void sort(int t1,int t2) /父類中的方法用來(lái)實(shí)現(xiàn)升序 /用選擇法按升序排列 for(i=0;it1-1;i+) k=i; for(j=i+1;jt1;j+) if(t2jt2k) k=j; if (k!=i) swap=t2i; t2i=t2k; t2k=swap; class sub_sort_Demo extends sort_Demo

38、 void sort(int t1,int t2) /子類中的方法實(shí)現(xiàn)降序 /用選擇法實(shí)現(xiàn)降序排列 for(i=0;it1-1;i+) k=i; for(j=i+1;jt2k) k=j; if (k!=i) swap=t2i; t2i=t2k; t2k=swap; public class Class1 public static void main (String args) int a=34,12,8,67,88,23,98,101,119,56; sort_Demo m1=new sort_Demo(); sub_sort_Demo m2=new sub_sort_Demo(); System.out.println(排序前的數(shù)據(jù)為:); for (int i=0;i10;i+) System.out.print( +ai); /調(diào)用父類中的sotr()方法 m1.sort(a.length ,a); System.out.println(n按升序排列的數(shù)據(jù)為:); for (int i=0;i10;i+) System.out.print( +ai); /調(diào)用子

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論