Java題庫及答案全文_第1頁
Java題庫及答案全文_第2頁
Java題庫及答案全文_第3頁
Java題庫及答案全文_第4頁
Java題庫及答案全文_第5頁
已閱讀5頁,還剩249頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Java程序設計試題及答案(一)

時間:2012-02-20S

]ava程序設計試題及答案(一)

一、判斷題。判斷下列各題是否正確,若正確,在0內(nèi)打“M”,否

則打“x”。

1、Java語言具有較好的安全性和可移植性及與平臺無關等特性。M

2、Java語言的源程序不是編譯型的,而是編譯解釋型的。M

3、Java語言使用的是Unicode字符集,每個字符在內(nèi)存中占8位。X

4、Java語言中不同數(shù)據(jù)類型的長度是固定的,不隨機器硬件不同而改

變。M

6、一個類可以實現(xiàn)多個接口,接口可以實現(xiàn)“多重繼承”。M

7、實現(xiàn)接口的類不能是抽象類。X

二、不定項選擇題。

1、編譯JavaApplication源程序文件將產(chǎn)生相應的字節(jié)碼文件,這些字

節(jié)碼文件的擴展名為(B)。

A、javaB、classC、htmlD、exe

2、main方法是JavaApplication程序執(zhí)行的入口點,關于main方法的

方法首部,以下(B)項是合法的。

A、publicstaticvoidmain。

B、publicstaticvoidmain(Stringargs])

C、publicstaticintmain(String[]arg)

D、publicvoidmain(Stringarg。)

3、關于下面代碼的說法(C)是正確的?

publicclassExample(

publicstaticvoidmain(String。args){

intflarr=newint[10];

System.out.println(arr[l]);

)

}

A、編譯時產(chǎn)生錯誤B、編譯時正確,運行時將產(chǎn)生錯誤C、輸出零D、

輸出空(null)

4、不正確的表達式是(AB)o

A、floata=1.0d;B、Doublea=newDouble(l.O)

C、bytea=(byte)340;D、Bytea=120;

5、定義一個類名為"MyClassjava"的類,并且該類可被一個工程中的所有

類訪問,那么該類的正確聲明應為(CD)o

A、privateclassMyClassextendsObjectB、classMyClassextendsObject

C、publicclassMyClassD、publicclassMyClassextendsObject

6、下列構(gòu)造方法的調(diào)用方式中,正確的是(C)。

A、按照一般方法調(diào)用B、由用戶直接調(diào)用

C、只能通過new自動調(diào)用D、被系統(tǒng)調(diào)用

7、private級的成員可以被哪些對象訪問?C

A、同一包中的其他類B、僅同一類的私有成員方法

C、僅同一類的所有成員方法D、所有其他類

8、關于Object類,以下正確的是(ADE)。

A、Object類中定義了一些重要的方法,以方便Java類的使用

B、Object類是一個非常特殊的“虛擬”類,就是說只能從Object類派

生出其它類,但不能創(chuàng)建一個Object類的對象,也不能將一個引用變量

定義為Object類型

C、如果一個類已經(jīng)有了父類,那么這個類同時繼承了Object類,也就

是說這時候這個類實際上有兩個父類

D、Object類是所在其他Java類的直接或間接父類

E、Java中的類是單繼承的,因此所在的類以Object類為根,形成了棵

繼承樹

9、抽象類與普通類的區(qū)別是什么?C

A、抽象類沒有成員變量,只有成員函數(shù)

B、抽象類只有成員變量,沒有成員函數(shù)

C、抽象類中有抽象函數(shù),而普通類的每個函數(shù)都是有具體實現(xiàn)的

D、抽象類與普通類沒有區(qū)別

10、使用接口的通常辦法是(D)。

A、將接口數(shù)當作靜態(tài)數(shù)據(jù)來調(diào)用B、直接調(diào)用接口的方法

C、將接口變量作為方法的參數(shù)來使用

D、定義一個接口變量,該變量指向?qū)崿F(xiàn)接口的對象來訪問

E、定義一個接口對象,通過對象訪問

11、執(zhí)行下列代碼后,哪個結(jié)論是正確的StringQs=newString[10];BD

A、s[10]為""B、s[9]為null;C、s[0]為未定義D、s.length為

10

12、以下對substring函數(shù)的描述中,錯誤的是()。BC

A、String和StringBuffer類都可以使用substring函數(shù)

B、substring函數(shù)返回一個StringBuffer對象

C、substring函數(shù)獲得從指定位置開始,到指定位置為止的字符串

D.substring函數(shù)用于獲得字符串的一個子串

13、如果catch塊中包括多個異常類,這些異常類的匹配原則是什么?C

A、接try塊中程序執(zhí)行的順序,尋找最通用的異常類

B、接try塊中程序執(zhí)行的順序,尋找能夠最精確匹配的類

C、接catch塊中異常類的排列順序,尋找第一個能夠匹配的異常對象

D、在catch塊中尋找能夠最精確匹配的類

14、以下異常中,不屬于RuntimeException的是(D)。

A、IndexoutofBoundsException數(shù)組以下越界異常

B、NullPointerExcePtion使用未初始化的引用變量

C、ArithmeticException算術(shù)異常

D、IllegalAccessException沒有足夠的權(quán)限訪問其他類的成員

15、運行下列程序,會產(chǎn)生什么結(jié)果。AD

publicclassMyThreadextendsThreadimplementsRunnable{

publicvoidrun(){

System.out.println("thisisrun。");

publicstaticvoidmain(String[]args){

Threadt=newThread(newMyThreadQ);

t.startQ;

}

}

A、第一行會產(chǎn)生編譯錯誤B、第六行會產(chǎn)生編譯錯誤

C、第六行會產(chǎn)生運行錯誤D、程序會運行和啟動

三、簡答題。

1、子類重新定義與父類方法的方法頭完全相同的方法,這種情況稱為

什么?此時子類對象還能執(zhí)行父類中原來的方法嗎?

答:這種情況稱為方法的覆蓋,此時,在子類中已不能找到父類原來的

方法,它的內(nèi)存位置已經(jīng)被替代。

2、final修飾符可以用來修飾什么?被final修飾符修飾后有何特點?

答:final修飾符可用來修飾類、屬性、方法和終結(jié)器。

被final修飾符修飾的類沒有子類。被final修飾符修飾的屬性在程序

整個執(zhí)行過程中都不能改變。被final修飾符修飾的方法是功能和內(nèi)部語

句不能更改的最終方法。被final修飾符修飾的終結(jié)器(以稱析構(gòu)器

—finalize。方法,是在對象被刪除前進行收尾工作的方法)也是不能

更改的。

3、試寫出一個語句創(chuàng)建一個名為myPackage的包,這個語句應該放在

程序的什么位置?

packageMyPackage;

應該在程序第一句。

四、編程題。

1、打印出所有的“水仙花數(shù)”。所謂“水仙花數(shù)”是指一個三位數(shù),

其各位數(shù)字的立方和等于該數(shù)本身。例如:153是一個“水仙花數(shù)”,

333

因為153=1+5+3O

#include<stdio.h>

intmainQ

{

//所謂水仙花數(shù)是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)

inti;

inta=O,b=O,c=O;//a表示百位上的數(shù),b表示十位上的數(shù),c表示個位上

的數(shù),

printff'打印三位數(shù)的所有水仙花數(shù)\n");

for(i=100;i<1000;i++)

(

a=i/100;

b=i/10;

c=i;

if(i==a*a*a+b*b*b+c*c*c)

printf(n%d\nn,i);

return0;

2、編程創(chuàng)建一個Cube類,在其中定義三個變量表示一個立方體的長、

寬和高,定義一個構(gòu)造方法對這三個變量進行初始化,然后定義一個方

法求立方體的體積。創(chuàng)建一個對象,求給定尺寸的立方體的體積。

publicclassBox

doublelength;//長

doublewidth;//寬

doubleheight;//高

publicBoxQ

{//構(gòu)造函數(shù)

length=0;

width=0;

height=0;

publicvoidsetLength(doublelength)

{〃設置長

this.length=length;

}

publicdoublegetLengthQ

{〃得到長

returnlength;

}

publicvoidsetWidth(doublewidth)

{〃設置寬

this.width=width;

}

publicdoublegetWidthQ

{〃得到寬

returnwidth;

Java程序設計試題及答案(二)

時間:2012-02-20加

忑忑程序設計試題及答案(二)

一、判斷題。判斷下列各題是否正確,若正確,在。內(nèi)打“,”,否

則打“X”。

1、JavaApplication程序中,必有一個主方法main。,該方法有沒有參數(shù)

都可以。X

2、Java程序中不區(qū)分大小寫字母。X

3、已知bytei=(byte)127;i=i+1;這兩個語句能被成功編譯。3

4、調(diào)用this或super構(gòu)造方法的語句必須放在第一條語句。M

5、創(chuàng)建對象時系統(tǒng)將調(diào)用適當?shù)臉?gòu)造方法給對象初始化。M

6、對象可作方法參數(shù),對象數(shù)組不能作方法參數(shù)。X

二、不定項選擇題。

l、Java程序的編程與運行分幾個階段,下面的階段描述中正確的是(B

E)o

A、Java編譯器將源文件編譯為二進制的目標碼文件

B、連接軟件將目標碼文件連接為最終的執(zhí)行文件

C、Java虛擬機運行連接后的可執(zhí)行文件,將它們翻譯為硬件能夠理解

的機器語言

D、目標碼無需連接,可以直接由Java虛擬機執(zhí)行

E、Java虛擬機解釋目標文件,并把它們翻譯為硬件能夠理解的機器語

2、執(zhí)行一個Java程序"FirstApp”的方法是(B)

A、直接雙擊編譯好的Java目標碼文件執(zhí)行B、運行“javac

FirstApp.class”

C、運行“javaFirstAppjava"D、運行"javaFirstApp”

3、按照Java的標識符命名規(guī)范,下列表示一個類的標識符正確的是

(B)o

A、HelloworldB、HelioWorldC、helloworldD、helloWorld

4、下列敘述中,正確的是(A)。

A、Java語言的標識符是區(qū)分大小寫的

B、源文件名與public類名可以不相同

C、源文件擴展名為jar

D、源文件中public類的數(shù)目不限

5、指出下列哪個方法不是publicvoidadd(inta){}的重載方法。(A)

A、publicintadd(inta)B、publicvoidadd(longa)

C、publicvoidadd(inta,intb)D、publicvoidadd(floata)

6、關于缺省級和公開級的類在訪問上的差別,描述正確的是(BD)。

A、對于其它包的類,只要用“import”關鍵字導入,就可以訪問到缺

省級的類

B、“import”關鍵字只能導入公開級的類

C、在公開級,不但同一個包里的其它類可以訪問這個類,而且其它包

里的類也可以訪問它

D、缺省級下,只有同一個包內(nèi)的其它類可以訪問這個類,外界不能訪

E、缺省級和公開級的類都能從包外訪問到

7、子類如何調(diào)用父類帶有參數(shù)的構(gòu)造方法?B

A、子類也創(chuàng)建具有同樣參數(shù)的方法參數(shù),Java會自動調(diào)用父類構(gòu)造方

B、子類構(gòu)造方法的開頭用“super”語句調(diào)用父類構(gòu)造方法

C、無法調(diào)用

D、創(chuàng)建子類對象時,先調(diào)用父類的構(gòu)造方法,再調(diào)用子類的構(gòu)造方法

8、public的成員變量能夠被以下哪些對象訪問到?C

A、所有的對象,但子類只能直接訪問,而不能繼承父類對象的public組

成員

B、所有的對象,但其它包中的對象只能訪問少數(shù)從句中導出的成員

C、所有的對象,子類可以直接訪問,也可以繼承父類對象的public組

成員

D、所有的對象

E、所有的對象,但子類不能訪問其它包中的父類對象的public組成員

9、當父類的引用變量指向子類對象時,對于同名的方法調(diào)用哪個?A

A、調(diào)用子類的方法B、先調(diào)用父類的方法再調(diào)用子類的方法

C、調(diào)用父類的方法D、先調(diào)用子類的方法再調(diào)用父類的方法

10、關于多態(tài)性,以下描述中正確的是(D)0

A、多態(tài)性就是方法的覆蓋B、多態(tài)性就是方法重載

C、多態(tài)性只存在于同名的成員變量之間

D、多態(tài)性是指按引用變量指向的對象,而不是引用變量本身的類型來

決定調(diào)用哪個方法

11、以下關于字符串函數(shù)的描述中,正確的是(C)o

A、delete函數(shù)用于刪除整個字符串

B^replace函數(shù)的作用是替換一段子串

C、setCharAt函數(shù)的作用是將String或StringBuffer字符串的某個字符替

D、insert函數(shù)的作用是在字符串的某個位置插入一個字符

12、以下關于運行期異常的說法中,錯誤的是(AD)。

A、運行期異常不需要在函數(shù)定義的throws部分給出

B、在程序運行中,如發(fā)生運行期異常會被自動拋出函數(shù)

C、運行期異常必須用try、catch塊捕獲

D、RuntimeException是各種在正常運行情況下可以被Java虛擬機拋出

的異常的父類

13、以下關于捕獲的原則中,錯誤的是(D)。

A、Exception類必須出現(xiàn),而且必須作為catch塊中第一個匹配的類

B、先列出具體的異常類,后列出通用的異常類

C、先列出子類,后列出父類

D、RuntimeException可以不被捕獲,Java會自動處理運行期的異常

三、簡答題(每題5分,共20分)。

1、閱讀下面的程序并寫出類MyClass3的所有成員,并寫明它們定義自

哪里。

classMyClassi{

privateintproll;

doublepro12;

}

classMyChss2extendsMyClassl{

privatedoubleprol2;

intpro21;

}

classMyClass3extendsMyClass2{

privateintpro21;

doublepro31;

2、創(chuàng)建接口使用什么關鍵字?接口可以有父接口嗎?試書寫語句創(chuàng)建一個

名為Mylnterface的接口,它是繼承了MySuperlnterfacel和

MySuperInterface2兩個接口的子接口。

答:創(chuàng)建接口使用關鍵字Interface。接口可以有父接口。

InterfaceMylnterfaceextendsMySuperlnterface,MySuperInterface2

四、編程題(每題10分,共30分)。

1、編寫一個方法,實現(xiàn)對數(shù)組元素由大到小排列。

#include<iostream>

#includcVcstdlib>//函數(shù)exit的函數(shù)頭

usingnamespacestd;

intmainQ

{

voidsort(intx[]jntn);〃函數(shù)聲明

intn;

cin?n;//數(shù)組長度由用戶輸入

int*a=newint回;//動態(tài)分配數(shù)組的長度

if(a二二NULL)

(

coutvv"Error,CannotAllocateMemory!H<<endl;

exit(l);

}

int*p,i;

p=a;

for(i=0;i<n;i++)

cin>>a[i];

p=a;

sort(p,n);〃調(diào)用函數(shù)

for(p=a,i=O;i<n;i++)

cout<<a[i];

cout<<endl;

}

delete[]a;//釋放內(nèi)存塊

return0;

}

voidsort(intx[]jntn)

{

inti,j,k,t;

for(i=0;i<n」;i++)〃選擇排序法,這里也可以選用其他排序法

(

k=i;

for(j=i+l;j<n;j++)

if(x[j]>x[k])

k=j;

if(k!=i)

{

t=x[i];

x[i]=x[k];

x[k]=t;

2、定義一個學生類(Student),屬性包括:學號,班號,姓名,性別,

年齡,班級總?cè)藬?shù);方法包括:獲得學號,獲得班號,獲得姓名,獲得

性別,獲得年齡,獲得班級總?cè)藬?shù),修改學號,修改班號,修改姓名,

修改性別,修改年齡以及一個toStringO方法將Student類中的所有屬性

組合成一個字符串。定義一個學生數(shù)組對象。設計程序進行測試。

classstudent{

privateStringxuehao;

privateStringbanhao;

privateStringxingming;

privateStringxingbie;

privateintnianling;

publicstudent(Stringx,Stringb,Stringm,Stringbl,mtn){

this.xuehao=x;

this.banhao=b;

this.xingming=m;

this.xingbie=bl;

this.nianling=n;

publicStringgetxuehaoQ{

returnxuehao;

}

publicStringgetbanhaoQ{

returnbanhao;

)

publicStringgetxingmingO(

returnxingming;

}

publicStringgetxingbieQ{

returnxingbie;

}

publicintgetnianlingQ{

returnnianling

}

publicStringtoStringQ{

returnxuehao+nn+banhao+Hn+xingming+nn+xingbie4-nn+nianling;

}

}

publicclassDome4{

publicstaticvoidmain(Stringargs[]){

studentsi=newstudent(”02122168”J121、安靜“,“男”,24);

System.out.println(sl.toStringQ);

}

}

3、從鍵盤輸入兩個數(shù),進行相加,顯示和。當輸入串中含有非數(shù)字時,

通過異常處理機制,使程序能正確運行。

datasegment

indatadw2dup(?)

outdatadw1dup(?)

notein1db'pleaseinputthefirstdecimalnumber(0-99):$!

notein2db'pleaseinputtheseconddecimalnumber(0-99):$T

noteoutdb'theresultofadditionis$

notewarndb'warningrwrongchar!$'

noteagaindb'pleaseinputagain:

dataends

showmacroaddr

movah,9h

leadx,addr

int21h

endm

codesegment

assumecs:code,ds:data,esrdata

mainprocfar

start:

pushds

subax,ax

pushax

movax,data

movds,ax

moves,ax

shownoteinl

callcrlf

calldeci_input

movindata,bx

callcrlf

shownotein2

callcrlf

calldeci_input

movindata+2,bx

callcrlf

movax,bx

addax,indata

movoutdata,ax

shownoteout

callcrlf

calldeci_output

ret

mainendp

deci_inputprocnear

movbx,0

newchar:movah,l

int21h

cmpal,0dh

jzexit

subal,30h

jlnoteerr

cmpal,9d

jgnoteerr

cbw

xchgax,bx

movcx,10d

mulex

xchgax,bx

addbx,ax

jmpnewchar

noteerr:callcrlf

shownotewarn

callcrlf

shownoteagain

jmpnewchar

exit:ret

deci_inputendp

deci_outputprocnear

movbx,outdata

movcl,100d

movax,bx

divcl

movbl,ah

movdl,al

adddl,30h

calldispchar

movax,0

moval,bl

cbw

movcl,10d

divcl

movbl,ah

movdl?al

adddl,30h

calldispchar

movdl,bl

adddl,30h

calldispchar

ret

deci_outputendp

crlfprocnear

movdl,Oah

calldispchar

movdl,Odh

calldispchar

ret

crlfendp

dispcharprocnear

movah,2h

int21h

ret

dispcharendp

codeends

endstart

Java程序設計試題及答案(三)

時間:2012-02-20㈤

為立而為項Java程序設計試題及答案(三)

一、判斷題。判斷下列各題是否正確,若正確,在0內(nèi)打,否則打"X"。

1、當前路徑的標識是。M

2、java命令不區(qū)分大小寫,而javac命令區(qū)分大小寫。X

3、說明或聲明數(shù)組時不分配內(nèi)存大小,創(chuàng)建數(shù)組時分配內(nèi)存大小。,

4、強制類型轉(zhuǎn)換運算符的功能是將一個表達式的類型轉(zhuǎn)換為所指定的類型。M

5、類是一種類型,也是對象的模板。M

6、Java語言會自動回收內(nèi)存中的垃圾。M

7、BDExccption必須被捕獲或拋出。M

二、不定項選擇題。

1、以下關于編寫、編譯、運行Java程序的步驟中,錯誤的是(BE)o

A、用link將二進制目標碼文件連接成可執(zhí)行文件

B、用javac將java源文件編譯成二進制目標碼文件

C、用java命令運行編譯過的java程序

D、用文本編輯器編寫java源文件

E、用javac命令編譯java源文件

2、下面關于JavaApplication程序結(jié)構(gòu)特點描述中,錯誤的是(D)。

A、一個JavaApplication程序由一個或多個文件組成,每個文件中可以定義一個或多個類,

每個類由若干個方法和變量組成

B、Java程序中聲明有public類時,則Java程序文件名必須與public類的類名相同,并區(qū)分

大小寫,擴展名為Java

C、組成JavaApplication程序的多個類中,有且僅有一個主類

D、一個.java文件中定義多個類時,允許其中聲明多個public類

3、以下關于中斷控制語句的描述錯誤的是(D)。

A、break語句用于中斷當前的程序塊,如for結(jié)構(gòu)塊等的執(zhí)行

B、continue停止繼續(xù)執(zhí)行下面的語句,直接跳回循環(huán)起始位置

C.return用于退出整個子程序

D、break用于強行退出循環(huán),不執(zhí)行循環(huán)中剩余的語句

E、在一個函數(shù)中不管有沒有返回值,都需要return語句來退出函數(shù)

4、以下程序的執(zhí)行結(jié)果是什么?(B)

int[]myArray=newint[3];

try{

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

myArrayli]=i*3;

System.<?utprindn(nmyArray數(shù)組的第"+i+”個元素的值是"+myArray[i]);

}catch(ArraylndcxOutOfBoundsExccptionc){

System.?!▍nrintln("數(shù)組下標越界");

A、程序出現(xiàn)異常,屏幕提示“數(shù)組下標越界”

B、程序執(zhí)行,顯示數(shù)組中每個元素的值,最后顯示“數(shù)組下標越界”

C、程序正常執(zhí)行結(jié)束,屏幕上顯示數(shù)組中每個元素的值

D、程序編譯出錯

5、對象的有效期有多長?(B)

A、與引用變量的有效期相同,當引用變量的有效期結(jié)束時,對象也自動消失

B、從對象創(chuàng)建時開始,直到?jīng)]有任何引用變量指向該對象時,對象失去作用,被自動回收

C、從對象創(chuàng)建時開始,直到編程人員用“delete”關鍵字刪除對象為止

D、從對象創(chuàng)建時開始,直到程序結(jié)束

6、關于類的構(gòu)造方法,以下正確的是(BC)。

A、同一個類可以有幾個構(gòu)造方法,各構(gòu)造方法的參數(shù)必須不同

B、同一個類可以有幾個構(gòu)造方法,各構(gòu)造方法的參數(shù)必須相同

C、當創(chuàng)建一個對象時,需要指明是否調(diào)用該對象的構(gòu)造方法

D、構(gòu)造方法的名稱與類的名稱相同

E、當創(chuàng)建一個對象時,該對象的構(gòu)造方法會被自動調(diào)用

7、下列關于子類繼承父類的成員描述中,錯誤的是(C)。

A、當子類中出現(xiàn)成員方法頭與父類方法頭相同的方法時,子類成員方法覆蓋父類中的成員

方法

B、方法重載是編譯時處理的,而方法覆蓋是在運行時處理的

C、子類中繼承父類中的所有成員都可以訪問

D、子類中定義有與父類同名變量時,在子類繼承父類的操作中,使用繼承父類的變量;子

類執(zhí)行自己的操作中,使用自己定義的變量

8、下列關于繼承性的描述中,錯誤的是(C)。

A、一個類可以同時生成多個子類

B、子類繼承了父類中除私有的成員以外的其他成員

C、Java支持單重繼承和多重繼承

D、Java通過接口可使子類使用多個父類的成員

9、關于實現(xiàn)接口中的方法,哪些敘述是正確的?(B)

A、類中應當實現(xiàn)接口中的所有方法,但方法參數(shù)可以有所不同

B、類中應包括所有接口中方法,并且方法名、返回值的類型、方法參數(shù)的個數(shù)、名稱、類

型都必須與接口中的對應方法相一致

C、類只能實現(xiàn)接口所提供的方法,而不能定義其他的方法

D、類只能實現(xiàn)接口的方法,而不能使用接口中的常量

10、關于抽象類的說法中正確的有(CD)o

A、只有子類覆蓋了父類的所有抽象方法之后,這個子類才不是抽象類

B、抽象類只有方法,沒有屬性C、抽象類的所有方法都是抽象方法

D、帶有抽象方法的類為抽象類E、抽象類不能創(chuàng)建對象

11、Java內(nèi)部如何利用"+"號把字符串String連接在一起?(B)

A、"+"相當于append函數(shù),在StringBuffer對象的后面添加字符串

B、Java在用"號進行字符連接時,是新建一個StringBuffer對象,用它來連接所有字符

串,然后再轉(zhuǎn)回String對象.

C、"+"號相當于append函數(shù),在String對象的后面添加字符串

D、只有String對象才用"連接符,StringBuffer對象、整數(shù)、浮點數(shù)等都不能使用"+"

連接符

12、如果下列的方法能夠正常運行,在控制臺上將顯示什么?(ACD)

publicvoidexample0{

try{

unsafcQ;

System.out.println(nTestl");

}catch(SafcExccptione){

System.out.println(uTest2");

}finally{

System.out.printlnf'Test3n);

}

System.outprintln("Test4**);

)

A、Test1B、Test2C、Test3D、Test4

三、簡答題。

1、為什么說構(gòu)造方法是一種特殊的方法?特殊在哪里?構(gòu)造方法什么時候執(zhí)行?被誰調(diào)用?

答:在java語言中,構(gòu)造函數(shù)又稱構(gòu)造方法。特殊性在于,與普通方法的區(qū)別是,他與類名

相同,不返回結(jié)果也不加void返回值。構(gòu)造函數(shù)的作用是初始化對象,即在創(chuàng)建對象時被

系統(tǒng)調(diào)用(與普通方法不同,程序不能顯示調(diào)用構(gòu)造函數(shù))。構(gòu)造函數(shù)還能夠被重載,即可

以傳入?yún)?shù),當程序中包含有帶參的構(gòu)造函數(shù)時,系統(tǒng)將不會再提供的無參構(gòu)造函數(shù)。

構(gòu)造函數(shù)特點:沒有函數(shù)返回值,構(gòu)造函數(shù)名與類名相同;當創(chuàng)建類對象的時候調(diào)用其對應

的構(gòu)造方法去創(chuàng)建

2、Java的異常處理塊的形式是什么樣?

答:用戶程序使用throw關鍵字拋出異常。系統(tǒng)定義的異常由系統(tǒng)在合適的時刻自動拋出。

四、編程題。

1、給出一百分制成績,要求輸出成績等級"A","B","C","D","E"。90分以上的為"A",80~89

分為"B",70?79分為"C",60?69為"D”,60分以下為"E"。

#includc<stdio.h>

intmain。

{ints;

printf("請輸入一個成績:");

scanf("%d",&s);

if(s>100||s<0)

{

printf("輸入了一個錯誤的成績。\nM);

return1;

)

charch;

switch(s/10)

case10:

case9:ch=*A';break;

case8:ch=*B*;break;

case7:ch=*C*;break;

case6:ch=*D';break;

default:

ch=*E*;break;

)

printf("您輸入的成績等級為:%c\n",ch);

return0;

2、定義一個類Rectangle代表矩形,為矩形定義getLength方法(獲得矩形的長度)、getWidth

方法(獲得矩形的寬度)、sctLength方法(設置矩形的長度)、sctWidth方法(設置矩形的寬

度)、getArea方法(求矩形的面積)和toString方法(顯示矩形的格式),為矩形派生出一個

子類Square代表正方形,并對getArea和toString進行重寫。并編寫程序進行測試。

publicclassRectangle{

//top,left左上角那個頂點的坐標

//width:寬

//heigth:長

privatedoubletop,left,width,height;

//構(gòu)造函數(shù)

publicReetangle(doubletop,doubleleft,doublewidth,doubleheight){

this.top=top;

this.lcft=left;

this.width=width;

this.height=height;

)

//改變寬,高,即改變矩形寬高

publicvoidsizc(doublcwidth,doubleheight){

this.width=width;

this.height=height;

}

//計算面積,寬X高

publicdoublearcaQ{

returnwidth*height;

)

〃求面積

publicdoublegctMianJi(intmx,intmy){

returnPoint.getDistance(pointA,pointB)*Point.getDistance(pointB,pointC);

}

3、卡車要裝載一批貨物,貨物有三種商品:電視、計算機和洗衣機。需要計算出大貨車承

載的3種貨物的重量。要求有一個ComputeWeight接口,該接口中有一個抽象方法:

publicdoublecomputeWeight();

設計3個實現(xiàn)接口的類:Television,Computer,WashMachinc。這三個類通過實現(xiàn)接口給出自

重。

定義-?個Car類,該類用ComputeWeight接口類型的數(shù)組作為成員,那么該數(shù)組的單元可以

存放Television,Computer,WashMachine對象的引用。

設計程序能輸出Car對象所裝載的貨物的總重量。

提示:可以把實現(xiàn)某接口的類創(chuàng)建的對象的引用賦值給該接口聲明的接口變量。

classTelevisionimplementsCompute

Weight{

privatedoubleweight;

privatedouble

//override

publicdoublecomputeWeight(){

returnthis.weight;

}

classCar

public:

CarQ;

Car(intTelevision,intComputerintWashMachine);

private:

intTelevision;

intComputer;

intWashMachine;

)

Java語言程序設計試題及答案(五)

時間:2012-06-02㈤

語言程序設計試題及答案(五)一、單項選擇題(本大題共io

小題,每小題1分,共io分)在每小題列出的四個備選項中只有一個是符合題

目要求的

,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。

1.在Java中,負責對字節(jié)代碼解釋執(zhí)行的是。。分)

A:垃圾回收器

B:虛擬機

C:編譯器

D:多線程機制

2.在Java中,獲取選擇框是否被選中的方法是。(1分)

A:getSelectO

B:getSclectcdO

C:isSelectQ

D:isSelectcdO

3.下列敘述中,正確的是()。分)

A:Java語言的標識符是區(qū)分大小寫的

B:源文件名與public類名可以不相同

C:源文件名其擴展名為jar

D:源文件中public類的數(shù)目不限

4.要為程序中的按鈕button設置一個熱鍵alt+A,可以采用的代碼是()。分)

A:button.setMnemonic(?A?)

B:button.setMnemonic^alt+A1,)

C:button.setToolTipText(?A?)

D:button.setToolTipText^alt+A0)

5.在Java中,設置字型應使用Graphics的()方法。(1分)

A:setfont(Fontfont)

B:setFont(Fontfont)

C:Font(Stringfontname,intstyle,intsize)

D:fbnt(Stringfbntnamc,intstyle,intsize)

6.列表事件的事件源有兩種,其中之一是單擊列表中的選項,則與單擊選項事件相關的接

口是0(I分)

A:ActionListener

B:ListSelectionEvent

C:UstSelectionldstener

D:addListSclcctionListcncr

7.在Java語言的java.util包中,用于語言符號(單詞)分析的類是0。分)

A:stringTokenizer

B:StringTokenizer

C:ToKenizer

D:tokenizer

8.下列語句中,錯誤的Java語句是()(1分)

A:連續(xù)出現(xiàn)多個分號

B:try……catch語句

C:include語句

D:switch語句

9.在Java程序中,已將對象接到BufferedWriter對象上,要實現(xiàn)緩沖式輸出,可對

BufferedWriter對象使用的方法是()。分)

A:read。

B:writeQ

C:readLineO

D:writeLongQ

10.接口的所有變量和方法分別默認為是0(1分)

A:finalstatic和publicabstract

B:finalstatic和publicfinal

C:publicstatic和publicabstract

D:publicstatic和publicfinal

二、填空題(本大題共10小題,每小題2分,共20分)請在每小題的空格中填上正確答案。

錯填、不填均無分。

l.Java源文件中最多只能有一個類,其他類的個數(shù)不限。(2分)

2.Java語言將類型分為基本類型和類型兩種。(2分)

3.當在一個容器中放入多個選擇框之前,可以先用對象將多個選擇框分組,使得同一時刻

組內(nèi)的多個選擇框只允許有一個被選中。(2分)

4.Java語言使用字符集,共有65535個字符。(2分)

5.給Java中的菜單項設置快捷鍵所使用的類中對應的構(gòu)造方法為。(2分)

6.類java.awtGraphics的成員方法可以用來顯示一幅圖像。(2分)

7.Java語言為處理鼠標事件提供了兩個接口,其中接口能處理鼠標拖動和鼠標移動兩種事

件。(2分)

8.當在一個容器中放入多個選擇框之前,可以先用對象將多個選擇框分組,使得同一時刻

組內(nèi)的多個選擇框只允許有一個被選中。(2分)

9.Java語言在實現(xiàn)C/S模式中,套接字分為兩類,其中在Server端,類支持底層的網(wǎng)絡通信。

(2分)

10.Java語言使用字符集,共有65535個字符。(2分)

三、程序填空題(本大題共5小題,每空2分,共20分)

1.程序運行結(jié)果為:

2008年10月1日

2009年2月2日

請?zhí)羁眨?/p>

publicclassDate

inty,m,d;

DateQ

{

y=2008;m=l0;d=1;

}

Date(intyyjntmm,intdd)

{

y=yy;m=mm;d=dd;

}

publicStringtoStringQ

{

return;

publicstaticvoidmain(String[]args)

Datedl=newDate。;

Dated2=ncw;

System.out.println(d1.toStringQ);

System.out.println(d2.toStringQ);

}

}(2分)

2.回文是指正讀和反讀都一樣的字符串。方法f27(Strings)的功能是判斷一個字符串是否為

回文。例如:s="abccba",該方法返回值為true;n="abc",

該方法返回值為falseo

booleanf27(Strings)

{

inti=0;

while(i<s.lcngthQ/2)

{

Stringsl,s2;

sl=s.substring(i,i+l);

s2=s.substring0;

if(!(sl.cquals(s2)))break;

i++;

}

return;

}(2分)

3.下列小應用程序?qū)崿F(xiàn)如下功能:紅點沿直線循環(huán)向下運動的同時,藍點沿直

線循環(huán)向上運動。

importjava.applct.*;importjava.awt.*;

publicclassClass3103extendsAppletimplementsRunnable

{

ThreadredBall,blueBall;GraphicsredPen,bluePen;

intblueSeta=O,redSeta=O;

publicvoidinit()

(

setSize(250,200);

redBall=newThread(this);blueBall=newThread(this);

redPen=getGraphicsQ;bluePen=getGraphics();

redPen.setColor(Color.red);bluePen.setColor(Color.blue);

setBackground(Coior.gray);

)

publicvoidstart。

{

redBall.startO;

}

publicvoidrun。

{

intx,y;

while(true)

(

if(Thread.currentThread()==redBall)

(

x=0;

y=redSeta;

redPen.setColor(Color.gray);

redPen.fillOval(l00+x,y,10,10);

redSeta+=3;

if(rcdScta>=200)rcdScta=O;

x=0;

y=rcdScta;

redPen.setColor(Color.red);

rcdPcn.fillOval(l00+x,y,10,10);

try{redBall.sleep(20);}

catch(InterruptedExceptione){}

}

elseif。

(

x=0;

y=blueSeta;

bluePen.setColor(Color.gray);

bluePen.fillOval(l50+x,l00+y,l0,10);

blucScta-=3;

if(blueSeta<=-100)blueSeta=0;

x=0;

y=blueSeta;

blucPcn.sctColor(Color.bluc);

bluePen.fillOval(l50+x,l00+y,l0,10);

try{blueBall.sleep(40);}

catch(IntcrruptcdExccptionc){}

}(2分)

4.方法f2701(intn)返回十進制整數(shù)n的位數(shù)。

f2701(intn)

(

intc;

for(c=0;;c4-+)n/=10;

returnc;

}(2分)

5.方法f2702(intn)返回2~n之間的所有質(zhì)數(shù)的個數(shù)。

intf2702(intn)

{

inti,j,count=0;

for(i=2;i<=n;i+4-)

for(j=2;j<i;j++)

if(i%j==O)

if(j==i);

returncount;

}(2分)

四、程序分析題(本大題共5小題,每小題4分,共20分)

1.請將以下程序段表示的計算e的公式寫出來(假設x的值已給出)。

floata,e;

e=l;

a=l;

fdr(intn=l;n<=10;n++)

{

a=a*x/n;

c=e+a;

}

寫出所表示的公式e=o(4分)

2.閱讀下列程序,寫出程序的運行結(jié)果。

publicclassClass3203

(

publicstaticvoidmain(String[]args)

(

Stringtext="Tobeornottobe,thatisthequestion;"

+"Whethertisnoblerinthemindtosuffer”

+"theslingsandarrowsofoutrageousfortune,n

+"ortotakearmsagainstaseaoftroubles,"

+"andbyopposingendthem?”;

inttheCount=0;

intindex=-l;

StringtheStr=nthe";

index=text.indexOf(theStr);

while(indcx>=0)

(

++theCount;

index+=theStr.lengthQ;

indcx=tcxt.indcxOf(thcStr,index);

}

Systcm.out.println(nThcTextcontains04"thcCount+nthcsH);

}

}(4分)

3.閱讀下列程序,寫出程序的運行結(jié)果。

publicclassClass3303

staticpublicvoidmain(Stringargs[])

booleanbTbl口口=ncwboolean[4]口;

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

(

bTbl[i]=newboolean[i+1];

}

for(inti=0^<bTbl.length;i+4-)

|

fbr(intk=0;k<bTbl[i].length;k++)

(

System.out.print(bTb1[i][k]+”0);

)

System.out.println(HH);

}

)

}(4分)

4.閱讀程序,畫出程序運行后初始界面并寫出程序功能。

importjavax.swing.*;

importjava.awt.evcnt.*;

publicclassClass3403extendsJFrameimplementsActionlistener

{

JButtonb1=newJButton(Hbl");

JButtonb2=newJButton^bZ'1);

publicClass3403Q

(

super(nClass3403n);

setSize(300,100);

setDefaultCloseOperation0Frame.EXIT_ON_CT,OSE);

JPanelpanel=newJPanel0;

pancl.add(bl);pancl.add(b2);

setContentPane(panel);

bl.addActionListener(this);

b2.addActionListener(this);

sctVisible(truc);

}

publicvoidactionPcrfbrmcd(ActionEvcnte)

(

Objects=c.gctSourcc();

Hn

if(s==bl)setTide(Teacher);

if(s==b2)setTide(HStudentH);

publicstaticvoidmain(String[]args)

newClass3403Q;

}

}(4分)

5.閱讀下列程序,寫出程序功能。

importjava.applet.*;

importjava.awt.*;

importjava.awt.event.*;

publicclassClass35004extendsAppletimplementsMouscListencr

(

intr=-10,mouscFlag=0;

staticStringmouseState[[={“AAA”JBBB”,“CCC",“DDD”};

publicvoidprint(intx,inty)

{

Graphicsg=getGraphicsQ;

r+=10;

g.drawString(mouscState[mouseFlag]+H,x="+x+",尸"+y+”\n",l0,r);

}

publicvoidmouscPrcsscd(MouscEvcnte)

{mouseFlag=0;print(e.getXO,e.getY());}

publicvoidmouseReleased(NIouseEvente)

{mouseFlag=1;print(e.getX(),e.getY0);}

publicvoidmouscEntcrcd(MouseEvcntc)

{mouseFlag=2;print(e.getX0,e.getY());}

publicvoidmouseExited(MouseEvente)

{mouseFlag=3;print(e.getX0,e.getY());}

publicvoidmouseClicked(MouseEvente){}

publicvoidinitQ

{

setBackground(Color,red);

addMouseListener(this);

)

}(4分)

五、程序設計題(本大題共2小題,每小題6分,共12分)

1.設計一個應用程序,原始數(shù)據(jù)從程序界面的一個文本區(qū)輸入,用戶點擊按鈕后,在另一

個文本區(qū)上輸出排序后的數(shù)據(jù),并將排序后的數(shù)

據(jù)輸出到文件中。已給出部分代碼,請完成程序。

importjava.io.*;

importjava.util.*;

importjava.awt.*;

importjavax.swing.*;

importjava.awt.event.*;

publicclassClass3805implementsActionListener

|

JTextAreatai=newJTextArea(l0,20);

JTextAreata2=newJTextArea。0,20);

JButtonbutt=newJButton(nSortAndSaven);

publicstaticvoidmain(String口args)

{

newClass3805();

)

publicClass3805()

(

JFramemyWin=newJFrame(nClass3805H);

myWin.setDefaultCloseOperation0Frame.EXIT_ON_CLOSE);

Containercon=myWin.getContentPane();

con.setLayout(newFlowLayoutO);

con.setBackground(Color.blue);

con.add(tal);con.add(butt);con.add(ta2);

myWin.setBounds(200,200,600,300);

butt.addActionListener(this);

myWin.setVisible(true);

}

publicvoidactionPerfbrmed(ActionEvente)

{

〃這里是你要編寫的代碼

}

}(6分)

2.編寫一個方法f37020,要求該方法有一個元素類型為整型的數(shù)組參數(shù),方法的功能是把

參數(shù)數(shù)組中元素值相同的元素刪成只剩一個,經(jīng)

過刪除后會得到一個新數(shù)組,方法返回這個新數(shù)組。(6分)

六、簡答題(本大題共6小題,每小題3分,共18分)

1.請寫出程序處理按鈕單擊事件時,與按鈕動作事件相關的接口,注冊監(jiān)視器

的方法及要實現(xiàn)的接口方法。(3分)

2.寫出畫多邊形的兩個常用方法。(3分)

3.Java語言在實現(xiàn)C/S模式中,套接字分為哪兩類?(3分)

4.文本框(JTextField)是界面中用于輸入和輸出一行文本的區(qū)域。文本框處理程序

的基本內(nèi)容有哪五個方面?(3分)

5.在類的方法名前面和成員變量名前面加上public和protected有何區(qū)別?(3

分)

6.在Java語言中,循環(huán)語句有哪三種?(3分)

參考答案:

一、單項選擇題(本大題共10小題,每小題1分,共10分)在每小題列出的四

個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)

o錯選、多選或未選均無分。

1:參考答案:B

參考解析:(P4)在任何平臺上,Java源程序被Java編譯器譯成虛擬機能夠識別的

字節(jié)碼。這樣,只要有Java虛擬機的平臺,

就能解釋執(zhí)行Java字節(jié)碼程序,從而實現(xiàn)Java程序與平臺無關。

試題內(nèi)容:

在Java中,負責對字節(jié)代碼解釋執(zhí)行的是()

溫馨提示

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

評論

0/150

提交評論