Java語(yǔ)言與WWW技術(shù)模擬試卷A卷以及復(fù)習(xí)資料_第1頁(yè)
Java語(yǔ)言與WWW技術(shù)模擬試卷A卷以及復(fù)習(xí)資料_第2頁(yè)
Java語(yǔ)言與WWW技術(shù)模擬試卷A卷以及復(fù)習(xí)資料_第3頁(yè)
Java語(yǔ)言與WWW技術(shù)模擬試卷A卷以及復(fù)習(xí)資料_第4頁(yè)
Java語(yǔ)言與WWW技術(shù)模擬試卷A卷以及復(fù)習(xí)資料_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《Java語(yǔ)言及WWW技術(shù)》模擬試卷一、單項(xiàng)選擇題(每題2分,共30分)1、main方法是JavaApplication程序執(zhí)行的入口點(diǎn),關(guān)于main方法的方法頭以下哪項(xiàng)是合法的。()A、publicstaticintmain(String[]arg) B、publicvoidmain(Stringarg[])C、publicstaticvoidmain() D、publicstaticvoidmain(String[]args)2、以下哪項(xiàng)標(biāo)識(shí)符是不合法的。()A、Char B、$m_1 C、2nd D、calculator3、以下說法哪項(xiàng)是正確的() 1.classListenerExample 2.extendsKeyAdapterimplementsKeyListener{publicvoidkeyPressed(KeyEventke){ System.out.println("keypressed");}}A、不能通過編譯,因?yàn)轭愵^定義不能分行B、不能通過編譯,因?yàn)闆]有實(shí)現(xiàn)KeyListener接口中的所有方法C、以上代碼可通過編譯D、能通過編譯,但若組件用該類作為Keyboard的監(jiān)聽者并且接收了KEY_TYPED事件,則在執(zhí)行過程中會(huì)拋出異常。4、當(dāng)瀏覽器返回包含applet的頁(yè)面時(shí),調(diào)用以下哪個(gè)函數(shù)?()A、init() B、start() C、stop() D、destroy()5、當(dāng)Frame改變大小時(shí),放在其中的按鈕大小不變,則使用如下哪種布局方式?()A、FlowLayout B、CardLayout C、BorderLayout D、GridLayout6、關(guān)于垃圾收集以下哪個(gè)敘述是對(duì)的。()A、程序開發(fā)者必須自己創(chuàng)建一個(gè)線程進(jìn)行內(nèi)存釋放的工作。B、垃圾收集將檢查并釋放不再使用的內(nèi)存。C、垃圾收集允許程序開發(fā)者明確指定并立即釋放該內(nèi)存。D、垃圾收集能夠在期望的時(shí)間釋放被java對(duì)象使用的內(nèi)存。7、下面關(guān)于繼承的描述哪項(xiàng)是正確的。()A、在java中只允許單一繼承。B、在java中一個(gè)類只能實(shí)現(xiàn)一個(gè)接口。C、在java中一個(gè)類不能同時(shí)繼承一個(gè)類與實(shí)現(xiàn)一個(gè)接口。D、java允許多重繼承。8、以下哪個(gè)方法用于定義線程的執(zhí)行體?()A、start() B、init() C、run() D、synchronized()9、已知如下代碼:publicclassArrayInit{inta[]=newint[10];publicstaticvoidmain(Stringarg[]){System.out.println(a[10]);}}以下哪個(gè)說法是正確的?()A、編譯通過,運(yùn)行后輸出null B、編譯有錯(cuò) C、編譯通過,運(yùn)行后輸出0 D、編譯通過,但運(yùn)行時(shí)有異常發(fā)生10、給出如下代碼:classTest{ privateintm; publicstaticvoidfun(){ //somecode... }}如何使成員變量m被函數(shù)fun()直接訪問?()A、將privateintm改為protectedintmB、將privateintm改為publicintmC、將privateintm改為staticintmD、將privateintm改為intm11、下面哪個(gè)函數(shù)是publicvoidoverloadFun(){...}的重載函數(shù)?()A、voidoverloadFun(){...}B、publicintoverloadFun(){...}C、publicvoidoverloadFun(){...}D、publicintoverloadFun(floatf){...}12、以下哪個(gè)接口的定義是正確的?()interfaceA{voidprint(){};}abstractinterfaceA{voidprint();}abstractinterfaceAextendsA1,A2//A1、A2為已定義的接口{abstractvoidprint(){};}interfaceA {voidprint();}13、假設(shè)A類有如下定義,設(shè)a是A類的一個(gè)實(shí)例,下列語(yǔ)句調(diào)用哪個(gè)是錯(cuò)誤的?()classA{ inti; staticStrings; voidmethod1(){} staticvoidmethod2(){}}A、System.out.println(a.i);B、a.method1();C、A.method1();D、A.method2()14、一個(gè)線程的run方法包含以下語(yǔ)句,假定線程沒有被打斷,以下哪項(xiàng)是正確的()1.try{2.sleep(10);3.}catch(InterruptedExceptione){}A、不能通過編譯,因?yàn)樵趓un方法中可能不會(huì)捕捉到異常。B、在第2行,線程將暫停運(yùn)行,正好在10毫秒后繼續(xù)運(yùn)行。C、在第2行,線程將暫停運(yùn)行,最多在10毫秒內(nèi)將繼續(xù)運(yùn)行。D、在第2行,線程將暫停運(yùn)行,將在10毫秒后的某一時(shí)刻繼續(xù)運(yùn)行。15、分析下面的程序代碼,以下哪個(gè)說法是正確的。()publicclassTestextendsA{ publicstaticvoidmain(String[]args) { Testt=newTest(); t.print(); }}classA{ Strings;A(Strings){ this.s=s; }publicvoidprint(){ System.out.println(s); } }因?yàn)門est沒有構(gòu)造方法Test(),所以這段程序不能編譯。如果刪除A類中的構(gòu)造方法,這個(gè)程序可以編譯。這段程序可以通過編譯,但由于方法名沖突,引起一個(gè)運(yùn)行時(shí)錯(cuò)誤。編譯成功,運(yùn)行情況良好。二、改錯(cuò)題(每題3分,共15分)判斷下面的程序片斷是否正確。若有錯(cuò),指出錯(cuò)在哪里并改正;若正確,打“√”。1、classTest { floatx; abstractvoidfun(); }2、classTest1{ privateinti;} classTest2extendsTest1{ intgetInt() { returni; } }3、publicstaticvoidmain(Stringargs[]){charch=’c’; try{ ch=System.in.read();//省略其余代碼} catch(Exceptione) { return; } catch(IOExceptione) { System.out.println(e.toString()); } }4、publicclassTest{ inti; voidTest(inti) { this.i=i;} }5、publicclassTestimplementsRunnable { Threadt=newThread(this); t.start(); protectedvoidrun() { System.out.println(“threadisrunningnow”); } }三、程序閱讀題(1~8題每題4分,第9題占8分,共40分)(注:在程序右側(cè)空白處答題。)1、閱讀以下程序,寫出運(yùn)行結(jié)果。importjava.io.*;publicclassUseLabel{ publicstaticvoidmain(String[]args) {Loop: for(inti=2;i<10;i++) {if(i%3!=0) continueLoop; System.out.print(i+""); } } }2、閱讀以下程序,寫出運(yùn)行結(jié)果。classTest1{ publicTest1(){ln(“Test1”); showInfo(); } publicvoidshowInfo(){ System.out.println(“inTest1”);}}publicclassTest2extendsTest1{ publicTest2(){ System.out.print(“Test2”); } publicvoidshowInfo(){ System.out.println(“inTest2.”);}publicstaticvoidmain(String[]args){ newTest2(); }}3、閱讀以下程序,寫出運(yùn)行結(jié)果。classMyExceptionextendsException{ publicStringtoString(){ return"negativenumber";}}publicclassExceptionDemo{ publicstaticvoidmySqrt(inta)throwsMyException { if(a<0) thrownewMyException(); System.out.println(Math.sqrt(a)); } publicstaticvoidmain(Stringargs[]){ try{ mySqrt(4); mySqrt(-4); }catch(MyExceptione){ System.out.println("Exception:"+e);} }}4、閱讀以下程序,寫出運(yùn)行結(jié)果。publicclassAboutThreeNum{publicstaticvoidmain(String[]args) { System.out.println(fun(-8,50,23)); } staticintfun(intx,inty,intz) { returnfun(x,fun(y,z)); } staticintfun(intx,inty) { if(x>y)returnx; elsereturny; } }5、寫出以下程序的功能。importjava.io.*;publicclassAboutFile{publicstaticvoidmain(String[]args)throwsIOException{ (“a.txt");(“b.txt");(inputFile);(outputFile);intc;while((c=in.read())!=-1)out.write(c);in.close();out.close();}}6、閱讀以下程序,寫出運(yùn)行結(jié)果。classA{ publicstaticvoidmain(String[]args) { Bb1=newB(10); Bb2=newB(10); if(b1==b2){ System.out.println("b1==b2"); } else{ System.out.println("b1!=b2");} }}classB{ intx; B(intx){this.x=x;}}7、閱讀以下程序,寫出運(yùn)行結(jié)果。classStaticStuff{staticintx;static{x+=5;}publicstaticvoidmain(Stringargs[]){ System.out.println(“x=”+x); }static{x%=3;}}8、閱讀以下程序,寫出運(yùn)行結(jié)果。 publicclassStar{publicstaticvoidmain(Stringargs[]){ chara[][]=newchar[3][3]; for(inti=0;i<a.length;i++) for(intj=0;j<a[i].length;j++) if(i>j) a[i][j]=''; else a[i][j]='*'; for(inti=0;i<a.length;i++) { for(intj=0;j<a[i].length;j++) System.out.print(a[i][j]); System.out.println(); }}}9、閱讀以下程序段,假定服務(wù)器端與客戶端程序正常運(yùn)行無(wú)異常發(fā)生,請(qǐng)回答以下問題:①描述程序功能。(4分)②客戶端是否會(huì)發(fā)送一個(gè)負(fù)數(shù)?(2分)③對(duì)于服務(wù)器端而言,接收到的0意味著什么?(2分)//服務(wù)器端程序importjava.io.*;/r/.*;publicclassServer{publicstaticvoidmain(String[]args){try{ServerSocketserverSocket=newServerSocket(8000);SocketconnectToClient=serverSocket.accept();DataInputStreamisFromClient=newDataInputStream(connectToClient.getInputStream());DataOutputStreamosToClient=newDataOutputStream(connectToClient.getOutputStream());while(true){doubleradius=isFromClient.readDouble();if(radius==0) break;else{ System.out.println("radiusreceivedfromclient:"+radius); doublearea=radius*radius*Math.PI; osToClient.writeDouble(area); osToClient.flush(); System.out.println("Areafound:"+area);}}isFromClient.close();osToClient.close();connectToClient.close();}catch(IOExceptionex){System.err.println(ex);}}}//客戶端程序importjava.io.*;/r/.*;publicclassClient{publicstaticvoidmain(String[]args){try{SocketconnectToServer=newSocket("localhost",8000);DataInputStreamisFromServer=newDataInputStream( connectToServer.getInputStream());DataOutputStreamosToServer= newDataOutputStream(connectToServer.getOutputStream());while(true){System.out.print("Pleaseenteraradius:");doubleradius=Double.parseDouble( newBufferedReader(newInputStreamReader(System.in),1).readLine());if(radius==0){osToServer.writeDouble(radius);osToServer.flush();break; } else{if(radius>0) {osToServer.writeDouble(radius); osToServer.flush(); doublearea=isFromServer.readDouble(); System.out.println("Areareceivedfromtheserveris"+area);} }}isFromServer.close();osToServer.close();connectToServer.close();} catch(IOExceptionex){System.err.println(ex);}}}四、編程題(15分)編寫一個(gè)Complex類,實(shí)現(xiàn)復(fù)數(shù)的計(jì)算。該復(fù)數(shù)類Complex必須滿足如下要求:(1) 復(fù)數(shù)類Complex的屬性有:r:double型,代表復(fù)數(shù)的實(shí)部i:double型,代表復(fù)數(shù)的虛部(2) 復(fù)數(shù)類Complex的方法有:Complex(doubler,doublei):構(gòu)造方法,將復(fù)數(shù)的實(shí)部初始化為r,將虛部初始化為i。getReal():返回復(fù)數(shù)的實(shí)部。getImaginary():返回復(fù)數(shù)的虛部。magnitude():返回一個(gè)復(fù)數(shù)的大?。▽?shí)部及虛部平方與的開方,開方可使用Math.sqrt()方法)。Complexadd(Complexc1,Complexc2):靜態(tài)方法,實(shí)現(xiàn)兩個(gè)復(fù)數(shù)相加。Complexmultiply(Complexc1,Complexc2):靜態(tài)方法,實(shí)現(xiàn)兩個(gè)復(fù)數(shù)相乘。publicStringtoString():把當(dāng)前復(fù)數(shù)對(duì)象的實(shí)部a、虛部b組合成“a+bi”的字符串形式。publicclassComplex{ privatedoubler; /*實(shí)部*/ privatedoublei; /*虛部*/ //添加構(gòu)造方法,占1分//添加toString方法,占2分//添加getReal方法,占2分//添加getImaginary方法,占2分//添加magnitude方法,占2分//添加add方法,占3分//添加multiply方法,占3分 《Java語(yǔ)言及WWW技術(shù)》模擬試卷答案一、單項(xiàng)選擇題(每題2分,共30分)123456789101112131415DCCBABACBCDDCDB二、改錯(cuò)題(每題3分,共15分)(注:指出錯(cuò)在哪兒并改正者得3分,僅指出錯(cuò)處得1分。)1、Test類作為具體類中不能包含有抽象方法。改正如下: abstractclassTest 或 classTest { floatx; { floatx; abstractvoidfun(); abstractvoidfun(); } }2、i為父類定義的私有域,子類無(wú)法繼承并引用。 改正如下:classTest1 或 classTest1 { privateinti; { privateinti; } } classTest2extendsTest1 classTest2extendsTest1 { intvoidgetInt() { intgetInt() { returni; } { returni; } } }3、捕獲異常應(yīng)將具體的異常類參數(shù)置前,題中將Exception類置前,將捕獲所有異常,無(wú)法進(jìn)入其他catch塊。 改正如下: publicstaticvoidmain(Stringargs[]) { charch=’c’; try{ ch=System.in.read();//省略其余代碼} catch(IOExceptione) {System.out.println(e.toString()); } catch(Exceptione) { return; } }4、構(gòu)造方法不能定義返回類型。改正如下: public classTest { inti; voidTest(inti) { this.i=i;} }5、run()方法作為接口中的方法缺省是public的,題中縮小了范圍。改正如下:publicclassTestimplementsRunnable { Threadt=newThread(this); t.start(); publicprotectedvoidrun() { System.out.println(“threadisrunningnow”); } }三、程序閱讀題(1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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)論