Java程序設(shè)計(jì)13套模擬試題(含參考答案附期末復(fù)習(xí)要點(diǎn))_第1頁(yè)
Java程序設(shè)計(jì)13套模擬試題(含參考答案附期末復(fù)習(xí)要點(diǎn))_第2頁(yè)
Java程序設(shè)計(jì)13套模擬試題(含參考答案附期末復(fù)習(xí)要點(diǎn))_第3頁(yè)
Java程序設(shè)計(jì)13套模擬試題(含參考答案附期末復(fù)習(xí)要點(diǎn))_第4頁(yè)
Java程序設(shè)計(jì)13套模擬試題(含參考答案附期末復(fù)習(xí)要點(diǎn))_第5頁(yè)
已閱讀5頁(yè),還剩101頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Java程序設(shè)計(jì)模擬練習(xí)一選擇題(每題2分,共20分)1、編譯Java Application 源程序文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,這些字節(jié)碼文件的擴(kuò)展名為(b )。 A. .java B. .class C. .html D. .exe2、設(shè) x = 1 , y = 2 , z = 3,則表達(dá)式 yz/x 的值是( a )。 A. 3 B. 3. 5 C. 4 D. 53、下列哪種方法在Applet生命周期中只執(zhí)行一次( a )Ainit Bstart Cstop Drun 4、類Cycle的main()方法為:public static void main(String args)(args

2、0);則運(yùn)行時(shí)如果命令行語(yǔ)句為java Cycle one two three,則輸出結(jié)果為(b) A Cycle B one C two D three5、下面哪一個(gè)是Thread類中的靜態(tài)方法( d) Astart() B . stop() C . run() D . sleep(long m)6、關(guān)于下列語(yǔ)句哪個(gè)答案是正確的(a ) A 不能編譯成功 B 可以編譯成功,輸出true C 可以編譯成功,但無輸出 D 以上均不對(duì)7、聲明公用的abstract方法的正確格式是( c)A public abstract void add() B public abstract add();C p

3、ublic abstract void add(); D public virtual add();8、下列程序結(jié)果正確的是(b ) public class Test public static void main (String args ) Ad a1=new Ad();Ad a2=new Ad();class Ad static int total = 10;public int add(int i) total=total+i; return total; A 11,12 B 11,13 C 11,11 D 12,129、基于的一個(gè)程序中包含一個(gè)Panel,Panel其中包含一個(gè)La

4、bel,在Frame和Panel中分別有下面的一些語(yǔ)句: /Frame里面的語(yǔ)句 setFont( new Font( Serif, Font. ITALIC, 18 );setBackground( Color. cyan ); /Panel中的語(yǔ)句 setBackground( Color. white );setForeground( Color. magenta ); 請(qǐng)問Label用什么顏色和字體顯示(a) A. Background = white; foreground = magenta; font = Serif Italic style, 18 pointB. Backgr

5、ound = cyan; foreground = black; font = Serif Italic style,18 pointC. Background = cyan; foreground = black; font = system default style for labelsD. Background = white; foreground = magenta; font = system default style for labels10、語(yǔ)句for(int x=0,y=0;(y!=0)&(x4);x+)的執(zhí)行次數(shù)是(b ) A 無限次 B 一次也不執(zhí)行 C 執(zhí)行4次 D

6、 執(zhí)行3次簡(jiǎn)答題(每題4分,共20分)1. 對(duì)比分析Java與其它高級(jí)語(yǔ)言的編譯和運(yùn)行過程,說明Java具有平臺(tái)獨(dú)立性的原因?2簡(jiǎn)述創(chuàng)建線程體的兩種方式3說明對(duì)象的基本概念和主要特征4什么是JDBC5方法重寫和方法重載的特征分別是什么?舉例說明判斷題(每題1分,共10分)1Java中的的字符使用的是 16 位的Unicode 編碼。 (對(duì))2for 語(yǔ)句中的循環(huán)體不能為空。(錯(cuò))3Java 僅支持類間的單重繼承。 (對(duì))4接口是由常量和抽象方法組成的特殊類。(對(duì))5構(gòu)造函數(shù)的方法名可由編程人員任意命名。(錯(cuò))6使用靜態(tài)屬性必須以類名做前綴。 (錯(cuò))7類的私有屬性和私有方法可以被其子類訪問。(錯(cuò)

7、)8使用了FlowLayout布局管理器,不能改變組件的高度(對(duì))910當(dāng)用戶在TextField中改變光標(biāo)的位置時(shí),會(huì)產(chǎn)生一個(gè)TextEvent事件。(錯(cuò)) 閱讀程序,對(duì)正確的程序?qū)懗鲞\(yùn)行結(jié)果,否則給出錯(cuò)誤的原因(每題5分,共30分)1public class Waiter int var; Waiter(double var) this.var = (int)var; Waiter(int var) this(Welcome); Waiter(String s) this(); Waiter() public static void main(String args) Waiter t =

8、 new Waiter(1); 答:Good-byeWelcome2public class Basepublic void getNO(int i)public class Sub extends Basepublic void getNO(int j)public void getNO(String s)rst of +s);public static void main(String args) Base b1=new Base(); Base b2=new Sub(); b1. getNO(5); b2. getNO(1);答:NO 5Im NO 13. 假定text文件并不存在的情況

9、下 public class ExceptionDemo1 public static void main(String args) FileInputStream fis = null; try fis = new FileInputStream(text);文件的內(nèi)容是:); int b; while ( (b = fis.read() != -1) ln(n); fis.close(); catch (FileNotFoundException ex) 發(fā)生文件不存在的異常.); catch (IOException ex) 輸入/輸出異常.); finally if (fis != n

10、ull) ntln(正在關(guān)閉文件。); try fis.close(); catch (IOException ex1) else 文件輸入流沒有打開。); 答 : 發(fā)生文件不存在的異常.文件輸入流沒有打開。4 public class Test public static void main(String args ) int i , s = 0 ; int a = 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 ,90; for ( i = 0 ; i a.length ; i + ) if ( ai%3=0 ) continue; s+=ai ; 答:s=27

11、05. 答:出現(xiàn)編譯錯(cuò)誤,因?yàn)閞un()方法的參數(shù)形式與Runnable中的run不一致,方法沒有被重寫或?qū)崿F(xiàn)。6.int i=9;switch(i) break;答:defaultzero程序設(shè)計(jì)(每題10分,共20分)1. 編寫一個(gè)Application,接受用戶從鍵盤輸入的10個(gè)整數(shù),并輸出這10個(gè)整數(shù)的最大值和最小值。public class abc public static void main(String args ) int i , n = 10 , max = 0 , min = 0 , temp = 0; try BufferedReader br = new Buffer

12、edReader( new InputStreamReader(System.in); max = min = Integer.parseInt(br.readLine( ); catch ( IOException e ) ; for ( i = 2 ; i max ) max=temp; if (temp min) min=temp; catch ( IOException e ) ; 2編程輸出下列形狀的圖形*public class Test public static void main(String args ) for( int i=0; i2; i+) for(int j=0;

13、j3;j+) for(int k=0;k -j) continue; while (i5); 答:i = 5 j= 62class C0 public C0(int x) class C1 extends C0 public C1(int x) public static void main (String args) new C1(1); 答:C0C113. class ExceptionTest static String a = 123, abc, null; public static void main (String args) for (int i = 0; i 3; i+) t

14、ry int x = Integer.parseInt(ai); catch(NullPointerException e) :); catch (NumberFormatException e):abc ); /end for答:Result: 123In 0th looperror:abcIn 1th looperror null:In 2th loop4class c static int x = 20; int y = 30; static int plus() return x+y; public static void main(String args ) int result =

15、 plus();答:錯(cuò)誤,靜態(tài)方法plus中return x+y有錯(cuò),因?yàn)殪o態(tài)方法不能調(diào)用非靜態(tài)成員5.impublic class Test extends Applet Image img; public void init() img=new Image(); public void paint(Graphics g) g.drawImage(img,0,0,this); 答:所創(chuàng)建的image為空,無法顯示。6. int i=2; switch(i) case break;答:twothree程序設(shè)計(jì)(每題10分,共20分)1. 編寫一個(gè)Application,從鍵盤輸入整數(shù)n,并計(jì)算

16、從1到n的累加和。public class Application1 public static void main(String args) String s = ; int n, sum = 0;計(jì)算從 1 到 n 的累加和。);請(qǐng)輸入 n 的值:); / 從鍵盤讀入字符串 s try InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); s = br.readLine(); catch(Exception e) / 將字符串 s 轉(zhuǎn)為整型

17、數(shù) n n = Integer.parseInt(s); / 計(jì)算 1 到 n 的累加和 for(int i=1; i 2 的值是(B)。 A、1 B、2 C、3 D、48若a的值為3時(shí),下列程序段被執(zhí)行后,c的值是多少?(C) c = 1; if ( a0 ) if ( a3 ) c = 2; else c = 3; else c = 4; A、1 B、2 C、3 D、49在編寫Java Application程序時(shí),若需要使用到標(biāo)準(zhǔn)輸入輸出語(yǔ)句,必須在程序的開頭寫上(C )語(yǔ)句。 A、 C、10對(duì)于構(gòu)造函數(shù),下列敘述正確的是(A C D)。 A、構(gòu)造函數(shù)是類的一種特殊函數(shù),它的方法名必須與

18、類名相同。 B、構(gòu)造函數(shù)的返回類型只能是void型。 C、構(gòu)造函數(shù)的主要作用是完成對(duì)類的對(duì)象的初始化工作。 D、一般在創(chuàng)建新對(duì)象時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用構(gòu)造函數(shù)。11下面的是關(guān)于類及其修飾符的一些描述,正確的是:(A C D)。 A、abstract類只能用來派生子類,不能用來創(chuàng)建abstract類的對(duì)象。 B、final類不但可以用來派生子類,也可以用來創(chuàng)建final類的對(duì)象。 C、abstract不能與final同時(shí)修飾一個(gè)類。 D、abstract方法必須在abstract類中聲明,但abstract類定義中可以沒有abstract方法。12 若需要定義一個(gè)類域或類方法,應(yīng)使用哪種修飾符?(A

19、) A、static B、package C、private D、public13若在某一個(gè)類定義中定義有如下的方法: abstract void performDial( );該方法屬于(D)。 A、本地方法 B、最終方法 C、解態(tài)方法 D、抽象方法14 下列關(guān)于靜態(tài)初始化器的敘述中,哪一個(gè)是正確的?(B D) A、靜態(tài)初始化器是在構(gòu)造函數(shù)之前加上static修飾符。 B、靜態(tài)初始化器是對(duì)類自身進(jìn)行初始化。 C、靜態(tài)初始化器在同一個(gè)類中只能有一個(gè)。 D、靜態(tài)初始化器是在其所屬的類加載內(nèi)存時(shí)由系統(tǒng)自動(dòng)調(diào)用執(zhí)行。15不使用static修飾符限定的方法稱為對(duì)象(或?qū)嵗┓椒?,下列哪一個(gè)說法是正確的

20、?(B D) A、實(shí)例方法可以直接調(diào)用父類的實(shí)例方法。 B、實(shí)例方法可以直接調(diào)用父類的類方法。 C、實(shí)例方法可以直接調(diào)用其他類的實(shí)例方法。 D、實(shí)例方法可以直接調(diào)用本類的類方法。16設(shè)有下面兩個(gè)類的定義: class Person class Student extends Person long id; / 身份證號(hào) int score; / 入學(xué)總分 String name; / 姓名 int getScore() return score; 問:類Person和類Student的關(guān)系是(B)。 A、包含關(guān)系 B、繼承關(guān)系 C、關(guān)聯(lián)關(guān)系 D、無關(guān)系,上述類定義有語(yǔ)法錯(cuò)誤17 設(shè)有下面的兩個(gè)

21、類定義: class AA “我喜歡Java!”); class BB extends AA “我喜歡C+!”);則順序執(zhí)行如下語(yǔ)句后輸出結(jié)果為:(A) AA a; BB b;a.Show(); b.Show(); A、我喜歡Java! B、我喜歡C+! 我喜歡C+! 我喜歡Java! C、我喜歡Java! D、我喜歡C+! 我喜歡Java! 我喜歡C+!18 設(shè)有下面的一個(gè)類定義:class AA 我喜歡Java!”); 我喜歡C+!”); 若已經(jīng)使用AA類創(chuàng)建對(duì)象a和BB類創(chuàng)建對(duì)象b,則下面哪一個(gè)方法調(diào)用是正確的:(C) A、a.Show( ) B、AA.Show( ); b.Show(

22、) BB.Show( ); C、AA.Show( ); D、a.Show( ); b.Show( ); BB.Show( );19在Java中,一個(gè)類可同時(shí)定義許多同名的方法,這些方法的形式參數(shù)的個(gè)數(shù)、類型或順序各不相同,傳回的值也可以不相同。這種面向?qū)ο蟪绦蛱匦苑Q為(C)。 A、隱藏 B、覆蓋 C、重載 D、Java不支持此特性20 對(duì)于構(gòu)造函數(shù),下列敘述正確的是(A B D)。 A、構(gòu)造函數(shù)也允許重載。 B、子類無條件地繼承父類的無參構(gòu)造函數(shù)。 C、子類不允許調(diào)用父類的構(gòu)造函數(shù)。 D、在同一個(gè)類中定義的重載構(gòu)造函數(shù)可以相互調(diào)用。21在使用interface聲明一個(gè)接口時(shí),只可以使用(D)修

23、飾符修飾該接口。 A、private B、protected C、private protected D、public22設(shè)有下面兩個(gè)賦值語(yǔ)句: a = Integer.parseInt(“1024”); b = Integer.valueOf(“1024”).intValue(); 下述說法正確的是(D)。 A、a是整數(shù)類型變量,b是整數(shù)類對(duì)象。 B、a是整數(shù)類對(duì)象,b是整數(shù)類型變量。 C、a和b都是整數(shù)類對(duì)象并且它們的值相等。 D、a和b都是整數(shù)類型變量并且它們的值相等。23在Java Applet程序用戶自定義的Applet子類中,常常重載(D)方法在Applet的界面中顯示文字、圖形和

24、其它界面元素。 A、start( ) B、stop( ) C、init( ) D、paint( )24下面的語(yǔ)句的作用是:(D)。 Vector MyVector = new Vector(100,50); A、創(chuàng)建一個(gè)數(shù)組類對(duì)象MyVector,有100個(gè)元素的空間,每個(gè)元素的初值為50。 B、創(chuàng)建一個(gè)向量類對(duì)象MyVector,有100個(gè)元素的空間,每個(gè)元素的初值為50。 C、創(chuàng)建一個(gè)數(shù)組類對(duì)象MyVector,有100個(gè)元素的空間,若空間使用完時(shí),以50個(gè)元素空間單位遞增。 D、創(chuàng)建一個(gè)向量類對(duì)象MyVector,有100個(gè)元素的空間,若空間使用完時(shí),以50個(gè)元素空間單位遞增。25在Ja

25、va中,存放字符串常量的對(duì)象屬于(B)類對(duì)象。 A、Character B、String C、StringBuffer D、Vector26在Java中,開發(fā)圖形用戶界面的程序需要使用一個(gè)系統(tǒng)提供的類庫(kù),這個(gè)類庫(kù)就是(D)包。 A、java.io B、java.awt27在Java圖形用戶界面編程中,若顯示一些不需要修改的文本信息,一般是使用(A)類的對(duì)象來實(shí)現(xiàn)。 A、Label B、Button C、TextArea D、TextField28 創(chuàng)建一個(gè)標(biāo)識(shí)有“關(guān)閉”按鈕的語(yǔ)句是(D)。A、TextField b = new TextField(“關(guān)閉”);B、Label b = new L

26、abel(“關(guān)閉”);C、Checkbox b = new Checkbox(“關(guān)閉”); D、Button b = new Button(“關(guān)閉”);29 在編寫異常處理的Java程序中,每個(gè)catch語(yǔ)句塊都應(yīng)該與(C)語(yǔ)句塊對(duì)應(yīng),使得用該語(yǔ)句塊來啟動(dòng)Java的異常處理機(jī)制。 A、if else B、switch C、try D、throw30 在編寫Java Applet程序時(shí),若需要對(duì)發(fā)生的事件作出響應(yīng)和處理,一般需要在程序的開頭寫上(D)語(yǔ)句。 A、 C、31對(duì)于子類的構(gòu)造函數(shù)說明,下列敘述中不正確的是(D)。 A、子類無條件地繼承父類的無參構(gòu)造函數(shù)。B、子類可以在自己的構(gòu)造函數(shù)中使

27、用super關(guān)鍵字來調(diào)用父類的含參數(shù)構(gòu)造函數(shù),但這個(gè)調(diào)用語(yǔ)句必須是子類構(gòu)造函數(shù)的第一個(gè)可執(zhí)行語(yǔ)句。C、在創(chuàng)建子類的對(duì)象時(shí),將先執(zhí)行繼承自父類的無參構(gòu)造函數(shù),然后再執(zhí)行自己的構(gòu)造函數(shù)。D、子類不但可以繼承父類的無參構(gòu)造函數(shù),也可以繼承父類的有參構(gòu)造函數(shù)。二、填空題。1 一個(gè)復(fù)雜的應(yīng)用系統(tǒng)必然包括有多個(gè)對(duì)象,這些對(duì)象間可能存在的關(guān)系有三種,它們是: 包含 、 繼承 和 關(guān)聯(lián) 。2 設(shè)x = 2 ,則表達(dá)式 ( x + + ) * 3 的值是 6 。3 若x = 5,y = 10,則x y和x = y的邏輯值分別為 false 和 true 。4 順序執(zhí)行以下兩個(gè)語(yǔ)句的輸出結(jié)果是: 10 。 Str

28、ing s = “我喜歡學(xué)習(xí)Java!”; 5 據(jù)程序的構(gòu)成和運(yùn)行環(huán)境的不同,Java源程序分為兩大類: Java Application 程序和 Java Applet ( 或 Application、Applet ) 程序。6 如果一個(gè)Java源程序文件中定義有4個(gè)類,則使用Sun公司的JDK編譯器javac編譯該源程序文件將產(chǎn)生 4 個(gè)文件名與類名相同而擴(kuò)展名為class 的字節(jié)碼文件。7 開發(fā)與運(yùn)行Java程序需要經(jīng)過的三個(gè)主要步驟為 編輯源程序 、 編譯生成字節(jié)碼 和 解釋運(yùn)行字節(jié)碼 。8 如果一個(gè)Java Applet源程序文件只定義有一個(gè)類,該類的類名為MyApplet,則類My

29、Applet必須是Applet 類的子類并且存儲(chǔ)該源程序文件的文件名必須為 MyApplet.java 。9 一個(gè)Java Application源程序文件名為MyJavaApplication.java,如果使用Sun公司的Java開發(fā)工具JDK編譯該源程序文件并使用其虛擬機(jī)運(yùn)算這個(gè)程序的字節(jié)碼文件,應(yīng)該順序執(zhí)行如下兩個(gè)命令: javac MyJavaApplication.java 、 java MyJavaApplication 。10 在Java的基本數(shù)據(jù)類型中,char型采用Unicode編碼方案,每個(gè)Unicode碼字符占用 2 字節(jié)內(nèi)存空間,這樣,無論是中文字符還是英文字符,每個(gè)

30、都是占用 2 字節(jié)內(nèi)存空間。11 在Java程序中定義的類有兩種成員: 域成員 、方法成員 。12 Java源程序是由類定義組成的,每個(gè)程序中可以定義若干個(gè)類,但是只有一個(gè)類是主類。在Java Application中,這個(gè)主類是指包含 方法的類;在Java Applet里,這個(gè)主類是一個(gè)系統(tǒng)類 的子類。 答:main Applet13 創(chuàng)建一個(gè)名為 MyPackage 的包的語(yǔ)句是 ,該語(yǔ)句應(yīng)該放在程序的位置為: 。 答:package MyPackage ; 應(yīng)該在程序第一句。14 方法是一種僅有方法頭,沒有具體方法體和操作實(shí)現(xiàn)的方法,該方法必須在抽象類之中定義。 方法是不能被當(dāng)前類的子類

31、重新定義的方法。 答:抽象方法、最終方法 (或 abstract方法、final方法)15 形式參數(shù)指的是方法被 時(shí)的參數(shù)行,實(shí)際參數(shù)是方法被 時(shí)所傳遞進(jìn)去的變量或值。 答:定義、調(diào)用16 多態(tài)是指 ,在Java中有兩種多態(tài),一種是使用方法的 實(shí)現(xiàn)多態(tài),另一種是使用方法的 實(shí)現(xiàn)多態(tài)。 答:一個(gè)程序中有多個(gè)同名的不同方法 覆蓋 重載17 在Java程序中,通過類的定義只能實(shí)現(xiàn) 重繼承,但通過接口的定義可以實(shí)現(xiàn) 重繼承關(guān)系。 答:?jiǎn)?、?8 子類重新定義一個(gè)與從父類那里繼承來的域變量完全相同的變量,這種面向?qū)ο蟪绦蛟O(shè)計(jì)特性稱為域的 。 答:隱藏19 字符串分為兩大類,一類是字符串常量,使用 類的對(duì)

32、象表示;另一類是字符串變量,使用 類的對(duì)象表示。 答:String、StringBuffer20 設(shè)有數(shù)組定義:int MyIntArray = 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 ;則執(zhí)行以下幾個(gè)語(yǔ)句后的輸出結(jié)果是 。 int s = 0 ;for ( int i = 0 ; i MyIntArray.length ; i + + ) s += MyIntArrayi ; 答:55021 在Applet中,創(chuàng)建一個(gè)具有10行45列的多行文本區(qū)域?qū)ο髏a的語(yǔ)句為: 答:TextArea ta = new TextArea( 10 ,

33、 45 );22 創(chuàng)建一個(gè)標(biāo)識(shí)有“浙江財(cái)經(jīng)學(xué)院”字樣的標(biāo)簽對(duì)象gxdd的語(yǔ)句為 ;創(chuàng)建一個(gè)標(biāo)識(shí)有“關(guān)閉”字樣的按鈕對(duì)象gb的語(yǔ)句為 。 答:Label gxdd = new Label(“浙江財(cái)經(jīng)學(xué)院”); Button gb = new Button(“關(guān)閉”);三、寫出下列程序完成的功能。1 public class Sum public static void main( String args ) double sum = 0.0 ; for ( int i = 1 ; i = 100 ; i + + ) sum += 1.0/(double) i ; 答:計(jì)算 1/1+1/2+1/3

34、+.+1/100 的值。2 public class Reverse public static void main(String args ) int i , n =10 ; int a = new int10; for ( i = 0 ; i = 0 ; i ) 答:從標(biāo)準(zhǔn)輸入(即鍵盤)讀入10個(gè)整數(shù)存入整型數(shù)組a中,然后逆序輸出這10個(gè)整數(shù)。3 public class abc public static void main(String args) new FrameOut(); class FrameOut extends Frame / Frame為系統(tǒng)定 Button btn;

35、/ 義的窗框類 FrameOut( ) super(按鈕); btn = new Button(按下我); setLayout(new FlowLayout( ); add(btn); setSize(300,200); show( ); 答:創(chuàng)建一個(gè)標(biāo)題為按鈕的窗框,窗框中顯示有按下我字樣的按鈕。4 public class Class1 public static void main(String args ) int i , Max , Min ; int a = 12,67,8,98,23,56,124,55,99,100 ; Max = Min = a0; for ( i = 1 ;

36、 i a.length; i + ) if ( aiMax ) Max = ai; 答:在數(shù)組中查找并輸出最大值和最小值。5 public class ABC public static void main(String args ) int i , j ; int a = 12,67,8,98,23,56,124,55,99,100 ; for ( i = 0 ; i a.length-1; i + ) int k = i; for ( j = i ; j a.length ; j+ ) if ( ajak ) k = j; int temp =ai; ai = ak; ak = temp;

37、 for ( i =0 ; ia.length; i+ ) 答:使用選擇法對(duì)數(shù)組a的數(shù)據(jù)進(jìn)行升序排序,然后輸出排序后的結(jié)果。public class Class1 public static void main( String args ) Fact N = new Fact( 4 ); class Fact int n ; Fact( int nn ) n = nn; int fact( ) int i , f = 1; for ( i=1; i=n; i+ ) f = f*i; return f; 答:定義一個(gè)計(jì)算n!的類Fact,然后主類中創(chuàng)建一個(gè)對(duì)象求解4!的值。7public cla

38、ss DrawMyImage extends AppletImage myImage; / 定義一個(gè)圖像類Image的對(duì)象myImagepublic void init( )myImage = getImage(getDocumentBase( ),pica.jpg);public void paint(Graphics g)g.drawImage(myImage,0,0,this); 答:在Applet界面中顯示當(dāng)前文件夾下名為“pica.jpg”的圖像。8 public class Class1 public static void main( String args ) SubClass

39、 a = new SubClass( 10,3 ); class SuperClass float x; int n; SuperClass( float xx , int nn ) x = xx ; n = nn; class SubClass extends SuperClass SubClass( float xx , int nn ) super( xx , nn ); float exp( ) float s = 1; for ( int i = 1; ib)?a:b); 答:求兩個(gè)數(shù)的最大值。四、寫出下面程序的運(yùn)行結(jié)果。1import public class abc public

40、 static void main(String args ) AB s = new AB(Hello!,I love JAVA.); class AB String s1; String s2; AB( String str1 , String str2 ) s1 = str1; s2 = str2; public String toString( ) return s1+s2; 答:Hello! I love JAVA.2 public class abc public static void main(String args ) int i , s = 0 ; int a = 10 ,

41、20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 ; for ( i = 0 ; i a.length ; i + ) if ( ai%3 = = 0 ) s += ai ; 答:s = 1803 public class abc public static void main(String args ) SubSubClass x = new SubSubClass(10 , 20 , 30); x.show(); class SuperClass int a,b; SuperClass(int aa , int bb) a=aa; b=bb; void show(

42、 ) class SubClass extends SuperClass int c; SubClass(int aa,int bb,int cc) super(aa,bb); c=cc; class SubSubClass extends SubClass int a; SubSubClass(int aa,int bb,int cc) super(aa,bb,cc); a=aa+bb+cc; void show() 答:a=60 b=20 c=304 import public class abc public static void main(String args) String s1

43、 = Hello!; String s2 = new String(World!); 答:Hello! World!5 public class ABC public static void main(String args ) int i ; int a = 11,22,33,44,55,66,77,88,99 ; for ( i = 0 ; i = a.length / 2 ; i + ) 答:110 110 110 110 110class Parentvoid printMe()class Child extends Parentvoid printMe()void printAll(

44、)super.printMe(); this.printMe(); printMe();public class Class1public static void main(String args ) Child myC = new Child( ); myC.printAll( ); 答:parent child child五、使用Java語(yǔ)言編寫程序。1 編寫一個(gè)字符界面的Java Application 程序,接受用戶從鍵盤輸入的一個(gè)正整數(shù),然后統(tǒng)計(jì)并輸出從1到這個(gè)正整數(shù)的累加和。 答:參考程序如下:public class SUMpublic static void main (Str

45、ing args) int i , n=-1 , sum=0 ; while ( n1) try BufferedReader br =new BufferedReader( new InputStreamReader(System.in); n = Integer.parseInt(br.readLine( ); catch ( IOException e ) ; for ( i =1 ; i=n; i+ ) sum += i; 2 編寫一個(gè)字符界面的Java Application 程序,接受用戶輸入的10個(gè)整數(shù),并輸出這10個(gè)整數(shù)的最大值和最小值。 答:參考程序如下:public cla

46、ss abc public static void main(String args ) int i , n = 10 , max = 0 , min = 0 , temp = 0; try BufferedReader br = new BufferedReader( new InputStreamReader(System.in); max = min = Integer.parseInt(br.readLine( ); catch ( IOException e ) ; for ( i = 2 ; i max ) max=temp; if (temp min) min=temp; cat

47、ch ( IOException e ) ; 3 編寫一個(gè)完整的Java Applet 程序使用復(fù)數(shù)類Complex驗(yàn)證兩個(gè)復(fù)數(shù) 1+2i 和3+4i 相加產(chǎn)生一個(gè)新的復(fù)數(shù) 4+6i 。 復(fù)數(shù)類Complex必須滿足如下要求:(1)復(fù)數(shù)類Complex 的屬性有:RealPart : int型,代表復(fù)數(shù)的實(shí)數(shù)部分ImaginPart : int型,代表復(fù)數(shù)的虛數(shù)部分(2)復(fù)數(shù)類Complex 的方法有:Complex( ) : 構(gòu)造函數(shù),將復(fù)數(shù)的實(shí)部和虛部都置0Complex( int r , int i ) : 構(gòu)造函數(shù),形參 r 為實(shí)部的初值,i為虛部的初值。Complex complex

48、Add(Complex a) : 將當(dāng)前復(fù)數(shù)對(duì)象與形參復(fù)數(shù)對(duì)象相加,所得的結(jié)果仍是一個(gè)復(fù)數(shù)值,返回給此方法的調(diào)用者。String ToString( ) : 把當(dāng)前復(fù)數(shù)對(duì)象的實(shí)部、虛部組合成 a+bi 的字符串形式,其中a 和 b分別為實(shí)部和虛部的數(shù)據(jù)。 答:參考程序如下:public class abc extends Applet Complex a,b,c ; public void init( ) a = new Complex(1,2); b = new Complex(3,4); c = new Complex(); public void paint(Graphics g) c=

49、a plexAdd(b); g.drawString(第一個(gè)復(fù)數(shù):+a.toString(),10,50); g.drawString(第二個(gè)復(fù)數(shù):+b.toString(),10,70); g.drawString(兩復(fù)數(shù)之和:+c.toString(),10,90); class Complex int RealPart ; / 復(fù)數(shù)的實(shí)部 int ImaginPart ; / 復(fù)數(shù)的虛部 Complex() RealPart = 0 ; ImaginPart = 0 ; Complex(int r , int i) RealPart = r ; ImaginPart = i ; Comp

50、lex complexAdd(Complex a) Complex temp = new Complex( ); / 臨時(shí)復(fù)數(shù)對(duì)象 temp.RealPart=RealPart+a.RealPart; temp.ImaginPart=ImaginPart+a.ImaginPart; return temp; public String toString( ) return ( RealPart+ + +ImaginPart+ i ); 4 編寫一個(gè)學(xué)生類 Student ,要求:(1) 學(xué)生類 Student 屬性有:id : long型,代表學(xué)號(hào)name : String類對(duì)象,代表姓名ag

51、e : int型,代表年齡sex : boolen型,代表性別(其中:true表示男,false表示女)phone : String類對(duì)象,代表聯(lián)系 (2) 學(xué)生類 Student的方法有:Student(long i , String n , int a , boolean s , long p) : 有參構(gòu)造函數(shù),形參表中的參數(shù)分別初始化學(xué)號(hào)、姓名、年齡、性別和聯(lián)系 。int getAge() ( ) : 獲取年齡作為方法的返回值。boolean getSex( ) ( ) : 獲取性別作為方法的返回值。long getPhone ( ) : 獲取聯(lián)系 作為方法的返回值。public St

52、ring toString( ) : 以 姓名:聯(lián)系 的形式作為方法的返回值。 答:參考程序段如下:class Student long id; String name;int age;boolean sex;long phone;Student( long i , String n , int a , boolean s , long p ) id = i; name = n;age = a;sex = s;phone = p;int getAge() return age; boolean getSex() return sex; long getPhone() return phone;

53、 public String toString() return name+ : +phone; 5 編寫Applet程序:求三個(gè)整數(shù)的最小值。 答:參考程序如下:public class FindMinextendsAppletimplementsActionListenerLabelresult;TextFieldin1,in2,in3;Buttonbtn1,btn2;int a=0,b=0,c=0,min;public void init()result=new Label(請(qǐng)先輸入三個(gè)待比較的整數(shù));in1=new TextField(5);in2=new TextField(5);i

54、n3=new TextField(5);btn1=new Button(比較);btn2=new Button(關(guān)閉);add(in1);add(in2);add(in3);add(btn1);add(btn2);add(result);btn1.addActionListener(this);btn2.addActionListener(this);public void actionPerformed(ActionEvente)if(e.getSource()=btn1) a=Integer.parseInt(in1.getText(); b=Integer.parseInt(in2.ge

55、tText(); c=Integer.parseInt(in3.getText(); min=a; if (bmin) min=b; if(cmin) min=c; result.setText(三數(shù)中最小值是:+min); else System.exit(0);6 編寫圖形界面下的Java Applet程序,接受用戶輸入的兩個(gè)數(shù)據(jù)為上、下限,然后10個(gè)一行輸出上、下限之間的所有素?cái)?shù)。 答:參考程序如下:/輸入上限與下限,輸出范圍內(nèi)的素?cái)?shù)public class Sushu extendsAppletimplementsActionListenerLabellb1,lb2,result;Te

56、xtFieldin1,in2;TextArea out1;Buttonbtn1,btn2;int a=0,b=0;String s=;public void init()result=new Label( 輸出框);lb1=new Label(上限);lb2=new Label(下限);in1=new TextField(5);in2=new TextField(5);out1=new TextArea();out1.setEditable(false);/設(shè)為不可編輯btn1=new Button(輸出素?cái)?shù));btn2=new Button(關(guān)閉);add(lb1);add(in1);add

57、(lb2);add(in2);add(btn1);add(btn2);add(result);add(out1);btn1.addActionListener(this);btn2.addActionListener(this);public void actionPerformed(ActionEvente)int k=0;/設(shè)計(jì)數(shù)器if(e.getSource()=btn1)/響應(yīng)按鈕輸出素?cái)?shù)的動(dòng)作out1.setText(n);/新行輸出a=Integer.parseInt(in1.getText();b=Integer.parseInt(in2.getText();/判斷是否素?cái)?shù),是則

58、計(jì)數(shù)并加入輸出子串sLoop:for(int i=b;ia;i+) for(int j=2;ji;j+)if(i%j=0)continueLoop;k+;if(k%10=0)/每10個(gè)數(shù)加個(gè)回車s=s+i+,+n;else s=s+i+,;result.setText(b+與+a+之間共有素?cái)?shù)+k+個(gè),輸出如下:);out1.setText(s);else System.exit(0);/點(diǎn)擊關(guān)閉退出程序Java程序設(shè)計(jì)模擬練習(xí)四一、填空題:(每空1分,共14分)1. 對(duì)象的主要屬性是_和_。2. 一個(gè)Java Application程序的編程需要經(jīng)過源代碼的編輯、 的編譯生成、解釋與運(yùn)行等三

59、個(gè)過程。3. Java程序中定義自己類的有 和_兩個(gè)步驟。4. int i=2; n=i+=i-;運(yùn)行結(jié)果是n=_,i= 。5. int x=1;int k=x1 ? 2:i; 運(yùn)行結(jié)果是k= 。6. Java程序運(yùn)行時(shí),引入 包可以使得程序具有訪問不同類型數(shù)據(jù)庫(kù)的功能。7. 使用系統(tǒng)類的前提條件是這個(gè)系統(tǒng)類應(yīng)該是用戶程序 的類;為此用戶程序必須引入所用到的系統(tǒng)類或系統(tǒng)類所在的_。8. Java中的多重繼承是通過 關(guān)鍵字來實(shí)現(xiàn)的。9.Java語(yǔ)言是基于_計(jì)算的計(jì)算機(jī)語(yǔ)言;TCP/IP協(xié)議的編程接口叫做_類。二、簡(jiǎn)答題:(每小題6分,共36分)1. 什么叫構(gòu)造函數(shù)重載?2. Java語(yǔ)言有什么特

60、點(diǎn)? 3. Java Applet的基本工作原理是什么?4. 什么叫多線程?Java支持多線程有何意義?5. 什么是接口?如何定義接口? 6. 寫出比較2個(gè)字符串是否相同的方法,并加以說明。三、程序分析題:(閱讀下列程序或程序段,說明其功能,并在相應(yīng)語(yǔ)句后面加上注釋。每小題10分,共20分。)1. class Point3d extends Point int z; public Point3d ( int x, int y, int z ) super (x,y ); this.z=z; public Point3d( ) this ( 0,0,0 ); public class WhatA

溫馨提示

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