版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Java面向對象程序設計試卷(七)一、選擇題1、根據java標記符命名規(guī)則和風格約定,下面哪一個標記符是類名?A、XxxYyyB、xxxYyyC、XXXYYYD、xxxyyy
2、下列變量定義語句中不對的的是:A、byted=312;B、shortd=312;C、intd=1+’C’;D、longd=312;
3、下列數組的定義語句中不對的的是:A、intgrade[][]=newint[10][10];B、intgrade[][]=newint[][10];C、int[][]grade=newint[10][10];D、int[]grade[]=newint[10][10];
4、下列說法中,哪一個是對的的?A、抽象類中定義的方法一定是抽象的。B、抽象類中一定存在抽象的方法。C、抽象類中可以沒有抽象方法。D、抽象類的子類一定要實現抽象類中的抽象方法。
5、關于方法的重載,下列說法哪一個是對的的?A、方法的重載是指一個類中多個方法使用相同的名字,但參數不同。B、方法的重載是指一個類中多個方法使用相同的名字,且參數相同。C、方法的重載是指子類和父類中兩個方法使用相同的名字,但參數不同。D、方法的重載是指子類和父類中兩個方法使用相同的名字,且參數相同。
6、假定有程序段:classSupperClass{publicintaddValue(inta,intb){returna+b;}}classSubClassextendsSuperClass{intvalue;//此處插入代碼}下述哪個方法可以插入到類SubClass中而不會出現編譯錯誤?A、intaddValue(inta,intb){returna+b+1;}B、publiclongaddValue(inta,intb){value=a+b+1;}C、protectedintaddValue(inta,intb){returna+b+1;}D、publicintaddValue(inta,intb){returna+b+1;}
7、若編譯和運營下列代碼,其結果將是classCircle{ doubleradius=1; publicCircle(doubler) { radius=r; } publicdoublearea() { return3.14*radius*radius; }}publicclassMyTest{publicstaticvoidmain(Stringargs[]){Circlec1=newCircle();System.out.println(c1.area());}}A、3.14B、0C、編譯犯錯D、
8、下列說法中,不對的的是A、一個java源程序文獻中,只能有一個public類。B、一個java源程序文獻中,只能有一個package語句。C、一個java源程序文獻中,可以有多個import語句。D、一個java源程序文獻中,只能有一個類中可以有main方法。
9、下列說法中不對的的是A、假如一個方法中定義的變量名與該方法所在類的成員變量同名,則在該方法中無法訪問同名的類成員變量。B、在java接口中定義的方法一定是抽象方法。C、java接口中不能定義變量。D、java接口沒有構造方法。
10、下列說法中對的的是()A、JFrame對象可以被加入到另一個JFrame對象中。B、JFrame對象可以被加入到JPanel對象中。C、JPanel對象可以被加入到另一個JPanel對象中。D、JFrame對象可以被加入到JApplet對象中。
11、有下列程序publicclassMyTest{publicstaticvoidmain(String[]args){try{ inta1=Integer.parseInt(args[0]);inta2=Integer.parseInt(args[1]);intresult=a1/a2; System.out.println("運算結果:"+result);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println("下標越界");return
;}catch(ArithmeticExceptione){System.out.println("除數為零");}catch(Exceptione){System.out.println("捕獲了異常");}finally{System.out.println("進入Finally語句塊");}}}該程序編譯后,執(zhí)行javaMyTest1010,則運營的結果為A、運所結果:1進入Finally語句塊B、下標越界C、除數為零D、捕獲了異常注:(對trycatch語句,即使前面符合條件的catch中有return語句,也會進入finally,之后再執(zhí)行return)
12、關于異常,以下說法對的的是A、所有異常類都是Throwable類的子類。B、Error類是Exception的子類。C、在catch語句中,異常類的排列順序無關緊要。D、運營時異常無法捕獲。
13、有下列程序classTestException{ classMyExceptionextendsException{ } publicvoidtestMethod()throwsMyException{} publicvoidtest() { testMethod(); }}在publicvoidtest()后加上哪一句可以使編譯不犯錯。A、throwMyExceptionB、throwsMyExceptionC、thrownewMyException()D、throwsnewMyException()
14、下列哪一段代碼可以刪除文獻file.txtA、Filef=newFile(“file.txt”);f.delete();B、RandomAccessFilef=newRandomAccessFile(“file.txt”,”rw”);f.delete();C、FileOutputStreamf=newFileOutputStream(“file.txt”);f.remove();D、Filef=newFile(“file.txt”);File.delete(f);
15、下面哪一個流屬于過濾流A、InputStreamB、FileInputStreamC、DataInputStreamD、FileReader
16、下列說法錯誤的是:A、TCP是面向連接的協(xié)議,而UDP是無連接的協(xié)議。B、數據報傳輸是可靠的,可以保證包按順序到達。C、URL代表的統(tǒng)一資源定位符一共涉及五個部分D、Socket和ServerSocket分別表達連接的Client端和Server端
17、設有以下程序段classTestException{ publicstaticvoidmain(String[]args) { try{ return; }finally{ System.out.println("finally"); } }}程序編譯并執(zhí)行,其結果將是A、程序執(zhí)行,但沒有任何輸出B、程序輸出finallyC、程序編譯時犯錯,提醒缺少catchD、程序編譯時犯錯,提醒finally語句無法訪問到。
18、FlowLayout布局管理器按照組件加入容器的順序從()到()排列組件。A、上、下B、右、左C、左、右D、前、后
19、有程序如下classSuperClass{ privateinti=10; voidprintI() { System.out.println(i); }}classSubClassextendsSuperClass{ inti=20; publicvoidprintA() { super.printI(); }}classTest{ publicstaticvoidmain(String[]args) { SubClassc1=newSubClass(); ,;c1.printA(); }}編譯并運營程序,其結果將是A、10B、20C、編譯犯錯D、0
20、下面哪一種流可以用來輸入字符A、InputStreamB、OutputStreamC、InputStreamReaderD、BufferedInputStream
二、判斷題(閱讀每一句陳述,判斷其正誤。在題后的括號中作相應的記號,對的的填入T,錯誤的填入F。)1、接口可以被另一個接口繼承。(T)2、接口中只能定義符號常量和抽象方法。(T)3、private方法不能被繼承,但可以被覆蓋。(F)4、假如類A的一個方法m的訪問權限是默認的,則m可以被同一個包中的其他類訪問,也可以被其它包中A的子類訪問。(F)5、類的靜態(tài)變量被該類的所有對象共享。(T)6、所有的類都可以被繼承。(F)7、java中是單繼承,但一個類可以實現多個接口。(T)8、不管定義與否,任何類都有一個不帶參數的構造方法。(F)9、語句”doublei=20.0f;”在編譯時不會引起錯誤。(T)10、線程的sleep()方法是一個靜態(tài)方法。(T)
三、程序閱讀題。1、仔細閱讀下面的程序代碼,編譯和運營后,請寫出該程序的輸出結果。classTestException{ publicstaticStringtoSeparateNumber(Stringnumber) { StringformatedNumber=""; try { doublen=Double.parseDouble(number); number=Double.toString(n); inti=number.indexOf('.'); if(i>=0) { formatedNumber=number.substring(i,number.length()); i=i-1; } elsei=number.length()-1; intk=0; for(intj=i;j>=0;j--) { formatedNumber=number.charAt(j)+formatedNumber; k=(k+1)%3; if(k==0&&j!=0)formatedNumber=","+formatedNumber; } } catch(NumberFormatExceptione) { System.out.println("參數錯誤!規(guī)定是數字格式!"); } returnformatedNumber; } publicstaticvoidmain(String[]args) { System.out.println(TestException.toSeparateNumber("001200.45")); System.out.println(TestException.toSeparateNumber("235A6.54")); }}答案:1,200.45參數錯誤!規(guī)定是數字格式!
2、仔細閱讀下面的程序代碼,編譯和運營后,請寫出該程序的輸出結果。classFather{Stringname="Father";intage=45;intgetAge(){returnage;}StringgetName(){returnname;}voidsetAge(inta){age=a;}}classChildextendsFather{Stringname="Child";intage=18;intgetAge(){returnage+1;}}classTest2{publicstaticvoidmain(Stringargs[]){Fatherp=newChild();System.out.println(p.getAge());p.setAge(30);System.out.println(p.getAge());System.out.println(p.getName()); }}答案:1919Father
3、閱讀下面程序代碼,寫出程序運營的輸出結果。classTest3{ publicstaticvoidmain(String[]args){ try { callMethod(); } catch(Exceptione) { System.out.print("will"); } System.out.println("win"); } staticvoidcreateException() { thrownewArithmeticException(); } staticvoidcallMethod() { try { createException(); System.out.print("not"); } catch(ArrayIndexOutOfBoundsExceptione) { System.out.print("you"); } finally { System.out.print("I"); } System.out.print("never"); }}答案:Iwillwin
4、下面的程序運用線程輸出從a到z的26個字母,每隔一秒鐘輸出一個字母,程序不完整,請閱讀程序代碼,根據注釋規(guī)定在劃線處補充完畢代碼。publicclassTest4implementsRunnable{charcharArray[]=newchar[26];publicTest4(){ for(inti=0;i<charArray.length;i++) { charArray[i]=(char)(i+'a'); }}publicvoidrun(){ try { for(inti=0;i<charArray.length;i++) { //休眠一秒鐘 System.out.print(charArray[i]); } } catch(InterruptedExceptione) { e.printStackTrace(); }}publicstaticvoidmain(Stringargs[]){Threadt=//實例化線程對象//啟動線程}}答案:Thread.sleep(1000);newThread(newTest4());t.start();
5、下面的程序是一個基于AWT的簡樸圖形用戶界面程序。程序運營時將顯示一個窗口(如下圖),窗口上有一個“退出”按鈕,單擊退出按鈕程序將結束運營。閱讀程序代碼,根據注釋規(guī)定補充完畢代碼(劃線是需要補充的地方)。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassTest5extendsJFrame{privateJButtonexit;privateJLabellabel;publicTest5(){super("圖形用戶界面");label=newJLabel("單擊退出按鈕關閉本窗口。");//將標簽放置在窗口的北面exit=newJButton("退出");exit.addActionListener( /*注冊一個內部類形式的事件監(jiān)聽器,該監(jiān)聽器關閉程序*/);add(exit,BorderLayout.CENTER);setSize(300,100);setVisible(true);}publicstaticvoidmain(Stringargs[]){Test5app=newTest5();}}答案:add(label,BorderLayout.NORTH);newActionListener(){ publicvoidactionPerformed(ActionEvente) {System.exit(0);}}
四、編程題(共2小題,每小題20分,共40分)。1、根據以下說明,編寫一個銀行賬戶類Account,并編寫一個main方法,對Account類進行測試,在main方法中要調用Account的所有方法,發(fā)生異常時,要打印異常信息。該類的成員變量如下(訪問權限均為private):變量名含義數據類型Id帳號StringOwner賬戶持有人姓名StringBalance余額double該類的成員方法如下(訪問權限均為public):方法名參數說明構造方法無構造一個賬戶實例,將id,owner設為null,balance設為0.00構造方法Stringid,Stringowner,doubleamount構造一個賬戶實例,用參數設立成員變量id,ownerl,balance的值setIDStringid用參數設立成員變量id的值。返回類型void。setOwnerStringowner用參數設立成員變量owner的值。返回類型void。Depositdoubleamount將金額amount存入帳戶,假如帳號為null,則拋出異常,異常信息為“帳號未知!”。返回類型double,返回值為amount。Withdrawdoubleamount從帳戶支取金額amount,假如帳號為null,或者余額小于amount,則拋出異常,異常信息分別為“帳號未知!”和“余額局限性!”。返回類型double,返回值為amount。Query無打印id,owner,balance。返回類型void。參考答案:classAccount{ privateStringid; privateStringowner; privatedoublebalance; publicAccount() { id=null; owner=null; balance=0.00; } publicAccount(Stringid,Stringowner,doublebalance) { this.id=id; this.owner=owner; this.balance=balance; } publicvoidsetID(Stringid) { this.id=id; } publicvoidsetowner(Stringowner) { this.owner=owner; } publicdoubledeposit(doubleamount)throwsException { if(id==null) thrownewException("帳號未知!"); else { balance+=amount; returnamount; } } publicdoublewithdraw(doubleamount)throwsException { if(id==null) thrownewException("帳號未知!"); elseif(balance<amount) thrownewException("余額局限性!"); else { balance-=amount; returnamount; } } publicvoidquery() { System.out.println("帳號:"+id+"戶名:"+owner+"余額:"+balance); } publicstaticvoidmain(String[]args) { try{ Accountac1=newAccount("","張三",10000); ac1.query(); ac1.deposit(2023); ac1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 通信行業(yè)保安工作總結
- 咖啡店銷售員銷售工作總結
- 礦業(yè)工程師礦產開采管理
- 食品飲料行業(yè)美工工作總結
- 《熱卷板產品介紹》課件
- 2021年四川省成都市公開招聘警務輔助人員輔警筆試自考題1卷含答案
- 2021年湖南省益陽市公開招聘警務輔助人員輔警筆試自考題1卷含答案
- 2021年河南省許昌市公開招聘警務輔助人員輔警筆試自考題1卷含答案
- 《婚姻家庭繼承法》課件
- 電視臺新年新春團拜會及廣告詞選用資料
- 《經濟學導論》考試復習題庫(含答案)
- 農田水利渠道灌溉與排水課件
- 人體解剖上肢血管
- 精品解析浙教版科學 九年級上冊 3.43 簡單機械之機械效率 同步練習
- 六棱塊護坡施工方案
- 機械制圖課件(完整版)
- 夸美紐斯-大教學論-文本細讀
- 《行政組織學小抄》word版
- 日立多聯機系統(tǒng)調試培訓教材
- (完整版)環(huán)境科學與工程-專業(yè)英語詞匯必備(免費)
- 交通管理與控制課件(全)全書教學教程完整版電子教案最全幻燈片
評論
0/150
提交評論