Java課后習(xí)題答案_第1頁
Java課后習(xí)題答案_第2頁
Java課后習(xí)題答案_第3頁
Java課后習(xí)題答案_第4頁
Java課后習(xí)題答案_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

習(xí)題1

1—1

Java語言的主要貢獻者是誰?

Java之父JamesGosling

習(xí)題2—4

publicclass表中的位置(

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

chara=*?;

charb='故';

charc='鄉(xiāng)1;

System,out.printIn{(int)a+","+(int)b+n,'*+(int)c);

)

}

習(xí)題3—4

publicclassXiti3_4{

publicstaticvoidmain(String[]args){

for(chara=1A*;a<=*q';a++)

(

System.out.printin(a);

)

)

}

習(xí)題3—5

publicclass階乘(

publicstaticvoidmain(String[]args){

inti=Jiecheng(2Q);

System.out.printin(i);

}

pviblxcstaticintJiecheng(inti)

(

intresult=0;

if(i==l)

result=1;

else

result=i*Jiecheng(i-1);

returnresult;

)

)

習(xí)題3—7

publicclassxiti3_7{

publicstaticvoidmain(String[]args){

inti=l;

inta=0;

while(a<=9999)

(

a+=Jiecheng(i);

if(a<=9999){

i++;

}

)

System.out.printIn(i-1);

}

publicstaticintJiecheng(inti)

(

intresult=0;

if(i==l)

result=1;

else

result-Jiecheng(i1);

returnresult;

)

}

習(xí)題4

習(xí)題4—1

類中的實例變量在什么時候會被分配內(nèi)存空間?

創(chuàng)建一個類的實例的時候,實例變量就會分配內(nèi)存空間。

4—2

什么叫做方法的重載,構(gòu)造方法可以重教么??

重載:一個類中可以有多個方法,具有相同的名字,但是這些方法的參數(shù)必須不同,即或者是參

數(shù)的個數(shù)不同,或者是參數(shù)的類型不同。

構(gòu)造方法可以重載,一個類里面可以有多個構(gòu)造函數(shù)。

4—3

類中的實例方法可以操作類變量么,類方法可以操作實例變量么?

可以。不可以。

4—4

類中的實例方法可以通過類名直接調(diào)用么?

不可以。

4—5

簡述類變量和實例變量的區(qū)別

1.不同對象的實例變量互不相同

2.所有對象共享類變量

3.通過類名直接訪問類變量

4—6

C,D是錯誤的,不能用protected和private修飾類。

4—7

略,

4—8

-100;局部變量的名字與成員變量的名字相同,則成員變量被隱藏。

4—9

27

4—10

“**,,20,"##"100;

習(xí)題5

5—1

子類將繼承父類的哪些成員變量和方法?子類在什么情況下隱藏父類的成員變量和方法?

若子類與父類在同一包中,子類繼承父類除private訪問權(quán)限以外的的變量和方法。若不在

同一包中,子類只繼承父類中protected和public訪問權(quán)限的成員變量和方法。

成員變量的隱藏:如果所子類所聲明的成員變量的名字和父類繼承來的成員的名字相同,在

這種情況下子類就會隱藏掉所繼承的成員變量。

方法的隱藏:子類可以通過重寫,隱藏呀以繼承的實例方法;

5—2

Final方法可以被子類重寫么?

不可以

5—3

Abstract類里可以有abstract方法

5—4

什么叫做對象的上轉(zhuǎn)型對象?

假設(shè)A類是B類的父類當用子類創(chuàng)建一個對象,并把這個對象的引月放到父類中時,這時

稱對象a是對象b的上轉(zhuǎn)型對象

5—5

下列哪些敘述是正確的:

(A)final類不可以有子類,正確。

(B)abstract類只可以有abstract方法,錯誤

(C)abstract類可以有非abstract方法,但是該方法不可以用final關(guān)鍵字修飾,錯誤

(D)不可以同時用abstract和final修飾一個方法。正確

5—6

15.0,8.0

5—7

98.0,12

習(xí)題6

6—1

接口中能聲明變量么?

不能。

6—2

接口中能定義非抽象方法么?

不能

6—3

什么叫做接口的回調(diào)?

接口回調(diào)是指:可以把實現(xiàn)某一接口的類創(chuàng)建的對象的陰影賦值給該接口聲明的接口變量

中,那么該接口變量就可以調(diào)用被該類'實現(xiàn)的接口方法。實際上,當接口變量調(diào)用被該類實

現(xiàn)的接口方法時,就是通知相應(yīng)的對象調(diào)用這個方法

6—4

請說出System.out.Prlntln的輸出結(jié)果。

15.0;8;

6—5

18;15;

習(xí)題7

7—1

怎樣獲取一維數(shù)組的長度?

數(shù)組名.length

7—2

怎樣獲取二維數(shù)組中一維數(shù)組的個數(shù)?

數(shù)組名.length就是它含有一維數(shù)組的個數(shù)

7—3

False;true:false;3;4.4;8.8

7—4

代碼1輸出結(jié)果:bird

代碼2輸出結(jié)果:car

7—5

參考例7—7,輸出從紅,黃,藍,綠,黑5中顏色取出三種不同顏色的排列。

publicclassXiti5{

publicstaticvoidmain(String[]args){

for(Colora:Color.values())

(

for(Colorb:Color.values())

(

for(Colorc:Color.values())

(

if(a!=b&&a!=c&&b!=c){

System.out.printin(a+H,n+b+n,n+c);

)

)

}

)

System.out.printin(i);

)

}

enumColor{

紅,黃,藍,綠,黑

}

習(xí)題8

8—1

內(nèi)部類的外嵌類的成員變量在內(nèi)部類中仍然有效么?

有效。

8—2

內(nèi)部類中的方法也可以調(diào)用外嵌類中的方法么?

可以調(diào)用

8—3

內(nèi)部類中的類體中可以聲明類變量刃類方法么?

不可以。

8—4

請說出下列程序的輸出結(jié)果:

大家好,祝工作順利!

8—5

96,乘數(shù)超過99

習(xí)題9

9—1

A:正確,java把string類設(shè)置為final類不可以有子類

B:string類在java.lang包中正確

C:adbcn=="abc"的值是false錯誤

D:"abc”.equals(、'abc〃)的值是true正確

9—2

請說出E類中的System.out.printIn的輸出結(jié)果

love:Game

9—3

請說出E類中的輸出結(jié)果

15:

abc我們

9—4

13579

9—5

9javahello

9—6

publicclassXiti6{

publicstaticvoidmain(String[]args){

Stringstrl='?hello";

Stringstr2='?World',;

Stringstr3=strl.toUpperCase();

System,out.printin(|str|);

str3=str2.toLowerCase();

System.out.printIn>str3);

str3=strl.concat(str2);

System,out.printInj|strj);

)

)

9—7

publicclassXiti7{

publicstaticvoidmain(String[]args){

Stringstrl="Hell。World!;

chara=t>Lrl.uhdrAL(0);

System.out.printIn(a);

a=strl.charAt(strl.length()-1);

System.out.printIn(a);

}

}

9—8

通過健盤輸入年份和月份。程序輸出相應(yīng)的Fl歷牌。

importjava.util.Calendar;

insertjava.util.Scanner;

publicclassXiti8{

publicstaticvoidmain(String[]args){

Scannerreader=newScanner(System.in);

System.out.printin:”請輸入年份和月份,輸入一次按一次回車”);

intx-reader.nextInt();

inty=reader.nextlnt();

CalendaBeencb=newCalendaBeen();

cb.SetYear(x);

cb.SetMonth(y);

String[]a=cb.getCalendar();

char[]str="日一二三四五六”.toCharArray();

for(charc:str)

(

System.out.printf(n%7cn,c);

)

for(inti=0;i<a.length;i++)

(

if(i%7==0)

System.out.printin();

System.out.printf(*'%4s",a[i]);

)

)

)

classCalendaBeen(

String[]day;

intyear=0,month=0;

publicvoidSetYear(intyear)

(

this.year=year;

)

publicvoidSetMonth(intmonth)

this.month=month;

)

publicString[]getCalendar()

(

String[]a=newString[42];

Calendarrill=Calendar.getlnstance();

rill.set(year,month-1,1);

intweekDay=rill.get(Calendar.DAY_OF_WEEK)-1;

intday=0;

if(month==l||month==3IImonth==7||month==8IImonth==10IImonth

==12)

day=31;

if(month==4IImonth==6IImonth==9I|month==11)

day=30;

i£(month-2){

if(year%4==0&&year%100!=0||year%400==0)

day=29;

elseday=28;

}

for(inti=0;i<weekDay;i++)

a[i]=nn;

for(inti=weekDay,n=l;i<weekDay+day;i++)

(

a[i]=String.vaiueOf(n);

n++;

}

for(inti=weekDay+day;i<a.length;i++)

a[i]=nn;

returna;

)

)

9—9

計算某年、某月、某日和某年、某月、某日之間的天數(shù)間隔。要求年、月、日通過鍵盤輸入。

in^ortjava.util.Calendar;

insertjava.util.Scanner;

publicclassXiti9{

publicstaticvoidmain(String[]args){

Calendarcalendar=Calendar.getlnstance();

Scannerreader=newScanner(System.in);

System,out.printIn:”請輸入年份”);

intyear=reader.nextlnt();

System,out.printIn請輸入月份");

intmonth=reader.nextlnt();

System.out.printIn:"請輸入日子”);

intday=redder.riexLInL();

calendar.set(year,month-1,day);

longtimel=calendar.getTimeInMillis();

System,out:.printin請輸入年份”);

year=reader.nextlnt();

System,out.printin:"請輸入月份”);

month=reader.nextlnt();

System.out.printIn請輸入日子”);

day=reader.nextlnt();

calendar.set(year,month-1,day);

longtime2=calendar.getTimelnMillis();

long

sub=(time2>timel)?((time2-timel)/(1000*60*60*24)):((timel-time2)/(100

0*60*60*24));

SysLeui.ouL.p工inLln0隔“+sub+“天”);

}

)

10—10

10—11

參看例9—19,編寫程序剔除一個字符串中的全部非數(shù)字字符,例如,將形如“abcl23you”

的非數(shù)字字符全部剔除得到字符串“123”.

importjava.util.regex.Matcher;

inportjava.util.regex.Pattern;

publicclassXitill{

publicstaticvoidmain(String[]args){

Patternp;

Matcherm;

Stringregex=n\\D{l,]u;

p=Ppile(regex);

Strings=nabcl23youn;

m=p.matcher(s);

System,out.printIn:"剔除以后的字符串“);

Stringresult=m.replaceAll('*");

System.out.printIn(result);

}

}

10—12

參看例9—21,使用Scanner類的實例解析,“數(shù)學(xué)87分,物理76分,英語96分”中的考試成

績,并計算出總成績以及平均分數(shù),

importjava.util.Scanner;

publicclassXitil2{

publicstaticvoidmain(String[]args){

StringCount="數(shù)學(xué)87分,物理76分,英語96分”;

ScdinieibcaiHier=newScdntier(Count);

scanner.useDelimiter('*[^0123456789]+M);

intsum=0;

while(scanner.hasNext())

(

intcount=scanner.nextInt();

sum+=count;

)

doubleavg=sum/3;

System.out.printIn:”總分數(shù)為“+sum+”平均分"+avg);

}

}

習(xí)題10

10—1

如果準備按字節(jié)讀取個文件的內(nèi)容,^^^fflFileliipuLSLxeaiu^^FileReadeL^?

前者是以字節(jié)為單位順序的讀取源中的數(shù)據(jù),后者是以字符為單位順序的讀取源中的數(shù)據(jù)。

10—2

File工nputStream流的read方法和FileReader流的read方法有何不同?

同上

10—3

BufferedReader流能直接指向一個文件么?

不能,通過向BufferedReader傳遞一個Reader子類的對象,來倉I建一個BufferedReader

對象

10—4

使用Object工nputStream和ObjectoutputStream類有哪些注意事項?

ObjectOutputStream的指向應(yīng)當是一個輸入流對象,因此當準備將一個對象寫入到文件時,

首先用OutputStream的子類倉ij建一個輸出流。同樣Object工nputStream的指向應(yīng)當是一個

輸入流對象,因此當準備從文件讀入一個對象到程序中的時候,首先用工nputStream的子類創(chuàng)

建一個文件輸入流。

當使用對象流寫入或者讀入對象的時,要保證對象是序列化的。這是為了保證能把對象寫入到文

件,并能把對象正確讀回到程序的緣故。

10—5

怎樣使用輸入輸出流克隆對象?

只需將該對象寫入的對象的輸出流的指向的目的地,然后將該目的地作為一個對象的輸入流的

源,那么該對象輸入流從源中讀回的對象一定是源對象的一個克隆,即對象輸入流通過對象的序

列化信息得到當前流的一個克隆。

10—6

使用RandomAccessFile流將一個文本文件倒置讀出。

importjava.io.*;

publicclassXiti6{

publicstaticvoidmain(String[]args){

RandomAccessFileinAndOut=null;

intdata[]={1,2,3,4,5,6,7,8,9,0};

try

inAndOut=newRandomAccessFile(*'tom.datn,''rw',);

for(inti=0;i<data.length;i++)

(

inAndOut.writelnt(data[i]);

}

for(longi=data.length-1;i>=0;i——)

(

inAndOut.seek(i*4);

System.out.printfinAndOut.readlnt());

}

inAndOut.close();

)

catch(lOEx

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論