【MOOC期末】《Java程序設(shè)計》(東北大學(xué))中國大學(xué)慕課答案_第1頁
【MOOC期末】《Java程序設(shè)計》(東北大學(xué))中國大學(xué)慕課答案_第2頁
【MOOC期末】《Java程序設(shè)計》(東北大學(xué))中國大學(xué)慕課答案_第3頁
【MOOC期末】《Java程序設(shè)計》(東北大學(xué))中國大學(xué)慕課答案_第4頁
【MOOC期末】《Java程序設(shè)計》(東北大學(xué))中國大學(xué)慕課答案_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

【MOOC期末】《Java程序設(shè)計》(東北大學(xué))中國大學(xué)慕課答案

有些題目順序不一致,下載后按鍵盤ctrl+F進(jìn)行搜索Java程序設(shè)計東北大學(xué)期末考試1.按注釋要求完成程序。程序運行結(jié)果如下:100,1,2,3,4,5,6,7,8,9,15,afterremove0,1,2,3,4,6,7,8,9,15,publicclassMain{publicstaticvoidmain(String[]args){MyArrayListmyList=newMyArrayList(20);for(inti=0;i<10;i++)myList.add(i);System.out.println(myList.getSize());myList.add(15);for(inti=0;i<p=""><>System.out.print(myList.get(i)+",");myList.remove(5);System.out.println("\nafterremove");for(inti=0;i<p=""><>System.out.print(myList.get(i)+",");}}/*類MyArrayList實現(xiàn)了List接口*/{/*對象數(shù)組list存放數(shù)據(jù),整型變量currentSize存放list中當(dāng)前數(shù)據(jù)個數(shù)都使用最嚴(yán)格的訪問控制符*//*構(gòu)造方法,list的大小為size,當(dāng)前數(shù)據(jù)個數(shù)為0*/MyArrayList(intsize){list=newObject[size];currentSize=0;}/*缺省構(gòu)造方法,list的大小設(shè)置為10*/MyArrayList(){this(10);}/*getSize方法,返回list中當(dāng)前數(shù)據(jù)的個數(shù)*//*get方法,index所在下標(biāo)數(shù)據(jù),如果index超出正常下標(biāo)范圍,返回null*//*add方法,在list尾部添加數(shù)據(jù),如果list已滿,返回null*//*remove方法,刪除index所在下標(biāo)數(shù)據(jù),后面數(shù)據(jù)向前移動如果index超出正常下標(biāo)范圍,返回null*/}/*定義一個List接口*/{intgetSize();Objectget(intindex);booleanadd(Objecto);Objectremove(intindex);}類定義,接口定義各1分其他每個注釋要求2分

參考答案:【importjava.util.Arrays;interfaceList{intgetSize();Objectget(intindex);booleanadd(Objecto);Objectremove(intindex);}classMyArrayListimplementsList{privateObject[]list;privateintcurrentSize;//構(gòu)造方法,list的大小為size,當(dāng)前數(shù)據(jù)個數(shù)為0MyArrayList(intsize){list=newObject[size];currentSize=0;}//缺省構(gòu)造方法,list的大小設(shè)置為10MyArrayList(){this(10);}//getSize方法,返回list中當(dāng)前數(shù)據(jù)的個數(shù)@OverridepublicintgetSize(){returncurrentSize;}//get方法,index所在下標(biāo)數(shù)據(jù),如果index超出正常下標(biāo)范圍,返回null@OverridepublicObjectget(intindex){if(index>=0&&index<currentSize){returnlist[index];}returnnull;}//add方法,在list尾部添加數(shù)據(jù),如果list已滿,返回false@Overridepublicbooleanadd(Objecto){if(currentSize<list.length){list[currentSize++]=o;returntrue;}returnfalse;}//remove方法,刪除index所在下標(biāo)數(shù)據(jù),后面數(shù)據(jù)向前移動//如果index超出正常下標(biāo)范圍,返回null@OverridepublicObjectremove(intindex){if(index>=0&&index<currentSize){Objectremoved=list[index];for(inti=index;i<currentSize-1;i++){list[i]=list[i+1];}list[currentSize-1]=null;currentSize--;returnremoved;}returnnull;}}[vk-content]publicclassMain{publicstaticvoidmain(String[]args){MyArrayListmyList=newMyArrayList(20);for(inti=0;i<10;i++){myList.add(i);}System.out.println(myList.getSize());myList.add(15);for(inti=0;i<myList.getSize();i++){System.out.print(myList.get(i)+",");}myList.remove(5);System.out.println("\nafterremove");for(inti=0;i<myList.getSize();i++){System.out.print(myList.get(i)+",");}}}】2.編寫分?jǐn)?shù)類,并測試。按注釋要求完成程序。importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){inta,b;Scannersc=newScanner(System.in);a=sc.nextInt();b=sc.nextInt();FenShufs1,fs2;fs1=newFenShu();fs2=newFenShu(a,b);System.out.println(fs1);System.out.println(fs2);System.out.println(fs1.add(fs2));System.out.println(fs2.add(2));System.out.println(fs2.getFenMu());}}classFenShu{privateintfenZhi,fenMu;/*構(gòu)造函數(shù),如果輸入分母為0,則將其設(shè)置為1*/FenShu(){this(1,1);}/*兩個分?jǐn)?shù)的和,返回值是分?jǐn)?shù)類型,并且是最簡分式*//*一個分?jǐn)?shù)加上一個整數(shù)d,返回值是分?jǐn)?shù)類型,并且是最簡分式*//*化簡函數(shù)toSimple,使得分子分母的最大公約數(shù)是1,即最簡分式*/voidtoSimple(){intm,n,t;m=fenZhi;n=fenMu;do{t=m%n;m=n;n=t;}while(t!=0);fenZhi/=m;fenMu/=m;}/*覆蓋Object中的toString方法,輸出結(jié)果為“分子/分母”形式*/publicStringtoString(){returnfenZhi+"/"+fenMu;}/*編寫分母的存取器,訪問權(quán)限為任何類都可以訪問,*設(shè)置分母值時,如果參數(shù)為0,則分母值不變*/}

參考答案:【importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){inta,b;Scannersc=newScanner(System.in);a=sc.nextInt();b=sc.nextInt();FenShufs1,fs2;fs1=newFenShu();fs2=newFenShu(a,b);System.out.println(fs1);System.out.println(fs2);System.out.println(fs1.add(fs2));System.out.println(fs2.add(2));System.out.println(fs2.getFenMu());}}classFenShu{privateintfenZhi,fenMu;//構(gòu)造函數(shù),如果輸入分母為0,則將其設(shè)置為1FenShu(){this(1,1);}FenShu(intfenZhi,intfenMu){if(fenMu==0){fenMu=1;}this.fenZhi=fenZhi;this.fenMu=fenMu;}//兩個分?jǐn)?shù)的和,返回值是分?jǐn)?shù)類型,并且是最簡分式FenShuadd(FenShuother){intnewFenZhi=this.fenZhi*other.fenMu+other.fenZhi*this.fenMu;intnewFenMu=this.fenMu*other.fenMu;FenShuresult=newFenShu(newFenZhi,newFenMu);result.toSimple();returnresult;}//一個分?jǐn)?shù)加上一個整數(shù)d,返回值是分?jǐn)?shù)類型,并且是最簡分式FenShuadd(intd){intnewFenZhi=this.fenZhi+d*this.fenMu;FenShuresult=newFenShu(newFenZhi,this.fenMu);result.toSimple();returnresult;}//化簡函數(shù)toSimple,使得分子分母的最大公約數(shù)是1,即最簡分式voidtoSimple(){intm,n,t;m=fenZhi;n=fenMu;do{t=m%n;m=n;n=t;}while(t!=0);fenZhi/=m;fenMu/=m;}//覆蓋Object中的toString方法,輸出結(jié)果為“分子/分母”形式@OverridepublicStringtoString(){returnfenZhi+"/"+fenMu;}//編寫分母的存取器,訪問權(quán)限為任何類都可以訪問,//設(shè)置分母值時,如果參數(shù)為0,則分母值不變publicintgetFenMu(){returnfenMu;}publicvoidsetFenMu(intfenMu){if(fenMu!=0){this.fenMu=fenMu;}}}】3.交換n*n整型數(shù)組中最大值(假定唯一)和最小值(假定唯一)后輸出。例如輸入:3123456789則輸出:923456781。數(shù)組定義,輸入、輸出正確找到最大最小值位置交換正確

參考答案:【importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);System.out.print("請輸入矩陣的維度n:");intn=scanner.nextInt();int[][]array=newint[n][n];System.out.println("請輸入矩陣元素:");for(inti=0;i<n;i++){for(intj=0;j<n;j++){array[i][j]=scanner.nextInt();}}//初始化最大最小值的位置int[]maxPos={0,0};int[]minPos={0,0};//初始化最大最小值intmaxValue=array[0][0];intminValue=array[0][0];//找到最大最小值的位置for(inti=0;i<n;i++){for(intj=0;j<n;j++){if(array[i][j]>maxValue){maxValue=array[i][j];maxPos[0]=i;maxPos[1]=j;}if(array[i][j]<minValue){minValue=array[i][j];minPos[0]=i;minPos[1]=j;}}}//交換最大最小值inttemp=array[maxPos[0]][maxPos[1]];array[maxPos[0]][maxPos[1]]=array[minPos[0]][minPos[1]];array[minPos[0]][minPos[1]]=temp;//輸出交換后的矩陣for(inti=0;i<n;i++){for(intj=0;j<n;j++){System.out.print(array[i][j]+"");}System.out.println();}}}】期末考試1.單選題:Strings="abc";s.trim();s變?yōu)椋ǎ?/p>

選項:

A、"abc"

B、"abc"

C、"abc"

D、"abc"

答案:【"abc"】2.單選題:給出下面的接口:interfaceA{intmethod1(inti);intmethod2(intj);}下面那個類實現(xiàn)了這個接口,并且不是抽象的?

選項:

A、classBimplementsA{publicintmethod1(){}publicintmethod2(){}}

B、classB{publicintmethod1(inti){}publicintmethod2(intj){}}

C、classBimplementsA{publicintmethod1(inti){}publicintmethod2(intj){}}

D、classBextendsA{publicintmethod1(inti){}publicintmethod2(intj){}}

答案:【classBimplementsA{publicintmethod1(inti){}publicintmethod2(intj){}}】3.單選題:A類中有一個方法:protectedintprint(Stringstr){},B類繼承A類,以下方法能在B類中重寫A類中print()方法的是:()。

選項:

A、publicintprint(Stringstr){}

B、privateintprint(Stringstr){}

C、protectedvoidprint(Stringstr){}

D、publicvoidprint(Stringstr){}

答案:【publicintprint(Stringstr){}】4.單選題:顏色選擇對話框JColorChooser的返回值是哪個類型?

選項:

A、Color

B、color

C、int

D、RGB

答案:【Color】5.單選題:如果有多個窗體處于顯示狀態(tài),使用下面的哪個方法僅關(guān)閉當(dāng)前窗體,而不會同時關(guān)閉其他窗體?

選項:

A、hide

B、dispose

C、close

D、exit

答案:【dispose】6.單選題:判斷單選按鈕、復(fù)選框是否被選中,可以使用()。

選項:

A、Select屬性

B、isSelected屬性

C、select方法

D、isSelected方法

答案:【isSelected方法】7.單選題:用于獲得用戶輸入的多行文本信息的swing組件類是()。

選項:

A、JTextField

B、JLabel

C、JTextArea

D、JList

答案:【JTextArea】8.單選題:有以下方法的定義,ReturnTypemethod(bytex,floaty){return(short)x/y*2;}請選擇該方法的返回類型()

選項:

A、byte

B、short

C、int

D、float

答案:【float】9.單選題:類與對象的關(guān)系描述正確的是()。

選項:

A、包含關(guān)系

B、聯(lián)接關(guān)系

C、類是對象的實例化

D、抽象和具體的關(guān)系

答案:【抽象和具體的關(guān)系】10.單選題:在下列代碼劃線處不可以填入選項中的哪一個異常類型。publicstaticinttest(inta,intb)throws{if(b==0){thrownewArithmeticException("算術(shù)異常");}else{return(a/b);}}

選項:

A、Throwable

B、Exception

C、InputMismatchException

D、ArithmeticException

答案:【ArithmeticException】11.單選題:運行下列代碼,當(dāng)輸入的num值為a時,系統(tǒng)會輸出的內(nèi)容為()。publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);try{intnum=input.nextInt();System.out.println("one");}catch(Exceptione){System.out.println("two");}finally{System.out.println("three");}System.out.println("end");}

選項:

A、onethreeend

B、twothreeend

C、onetwothreeend

D、twoend

答案:【twothreeend】12.單選題:在Java中,能實現(xiàn)多重繼承效果的方式是()。

選項:

A、內(nèi)部類

B、適配器

C、接口

D、同步

答案:【接口】13.單選題:給定程序段,求輸出結(jié)果。inti=1,j=0;switch(i){case2:j+=6;case4:j+=1;default:j+=2;case0:j+=4;}System.out.println(j);

選項:

A、6

B、1

C、2

D、4

答案:【6】14.單選題:多分支語句switch(表達(dá)式){}中,表達(dá)式不可以返回哪種類型的值?

選項:

A、短整型

B、字符型

C、整型

D、雙精度型

答案:【雙精度型】15.單選題:在java語句中,運算符&&實現(xiàn)()。

選項:

A、邏輯與

B、邏輯或

C、邏輯非

D、邏輯相等

答案:【邏輯與】16.單選題:下面程序的運行結(jié)果是()main(){inta[][]={{1,2,3},{4,5,6}};System.out.printf("%d",a[1][1]);}

選項:

A、3

B、4

C、5

D、6

答案:【5】17.單選題:已知表達(dá)式intm[]={0,1,2,3,4,5,6};下面哪個表達(dá)式的值與數(shù)組下標(biāo)量總數(shù)相等?

選項:

A、m.length()

B、m.length

C、m.length()+1

D、m.length+1

答案:【m.length】18.單選題:當(dāng)Frame改變大小時,放在其中的按鈕大小不變,則使用的layout為()。

選項:

A、FlowLayout

B、CardLayout

C、BorderLayout的North和South

D、BorderLayout的East和West

答案:【FlowLayout】19.單選題:Frame默認(rèn)的布局管理器是()。

選項:

A、FlowLayout

B、BorderLayout

C、GridLayout

D、CardLayout

答案:【BorderLayout】20.單選題:下面程序段的運行結(jié)果是()inti;floatf=2.3f;doubled=2.7;i=((int)Math.ceil(f))*((int)Math.round(d));System.out.println(i);

選項:

A、5

B、4

C、6

D、9

答案:【9】21.單選題:關(guān)于構(gòu)造方法,下列說法錯誤的是()。

選項:

A、構(gòu)造方法不可以進(jìn)行方法的重載

B、構(gòu)造方法用來初始化該類的一個新的對象

C、構(gòu)造方法具有和類名相同的名稱

D、構(gòu)造方法可以不寫

答案:【構(gòu)造方法不可以進(jìn)行方法的重載】22.單選題:如果一個類中定義了幾個名為method的方法,這些方法的參數(shù)都是整數(shù),則這些方法的________必須是不同的。

選項:

A、參數(shù)順序

B、參數(shù)個數(shù)

C、返回類型

D、以上都不對

答案:【參數(shù)個數(shù)】23.單選題:下面程序的運行結(jié)果是()。classAnimal{publicAnimal(){System.out.println("I'mananimal.");}}classBirdextendsAnimal{publicBird(){System.out.println("I'mabird.");}}publicclassAnimalTest{publicstaticvoidmain(String[]args){Birdb=newBird();}}

選項:

A、編譯錯誤

B、I'mabird.I'mananimal.

C、I'mabird.

D、I'mananimal.I'mabird.

答案:【I'mananimal.I'mabird.】24.單選題:分析下面兩個類:classFirst{finalstaticintA=3;}finalclassSecondextendsFirst{voidmethod(){System.out.println(A);}}下面說法正確的是()。

選項:

A、類First能被編譯,但類Second不能。

B、類Second能被編譯,但類Fir

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論