全國自考2008年—2010年Java語言程序設(shè)計(一)真題及答案_第1頁
全國自考2008年—2010年Java語言程序設(shè)計(一)真題及答案_第2頁
全國自考2008年—2010年Java語言程序設(shè)計(一)真題及答案_第3頁
全國自考2008年—2010年Java語言程序設(shè)計(一)真題及答案_第4頁
全國自考2008年—2010年Java語言程序設(shè)計(一)真題及答案_第5頁
已閱讀5頁,還剩56頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.2008年10月全國自考Java語言程序設(shè)計(一)真題及答案一、單項選擇題(本大題共10小題,每小題1分,共10分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。1下述字符組合不能作為Java程序標(biāo)識符的是()AAa12B大x Cy小D5x參考解析:(P8)本題考核知識點是Java語言標(biāo)識符命名規(guī)則。 Java語言標(biāo)識符可以按以下規(guī)則任意命名: 由字母(包括英文字母、下劃線字符、美元字符、文字字符)和數(shù)字組成。 限定標(biāo)識符的第一個字符不能是數(shù)字字符。 選項D答案第一個字符是數(shù)字字符。 2以下程序代碼的輸出的結(jié)果是()int x=53

2、; System. out. println(1.0+x/2);A27.0B27.5 C1.026D1.026.5參考解析:(P14)本題考核知識點是Java算術(shù)運算符 “/”。 “/”為除法運算符,當(dāng)除數(shù)和被除數(shù)均為整數(shù)類型數(shù)據(jù)時,則結(jié)果也是整數(shù)類型數(shù)據(jù)。所以當(dāng)x=53時,x/2=26。 3參照以下Java代碼,以下四個敘述中最確切的是()class A int x; static int y;void fac(String s)Syatem. out. println(字符串:+s);Ax、y和s都是成員變量 Bx是實例變量、y是類變量、s是局部變量Cx和y是實例變量、s是參數(shù) Dx、y和

3、s都是實例變量 參考解析:(P46)本題考核知識點是實例變量、類變量、局部變量。 類的成員變量分為實例變量和類變量。在定義成員變量時,用關(guān)鍵字static修飾的是類變量,定義時未用static修飾的是實例變量。類變量是類的所有對象共享的成員變量,一個類變量在類中只有一個,它屬于整個類,而不屬于類的某個對象。引用類變量的途徑有兩條,或通過類,或通過對象。類的方法體中定義的變量稱為局部變量,方法參數(shù)也屬于局部變量。4需要分析字符串,并將字符串分解成可被獨立使用的單詞,可使用java. util包中的類是()AStringBStringBuffer CStringTokenizer DstringT

4、okenizer參考解析:(P77)本題考核知識點是StringTokenizer類。 java.util包中的類StringTokenizer用于語言符號(單詞)的分析,分析出字符串中的單詞。另外還有命名的習(xí)慣約定(行業(yè)習(xí)慣,不是規(guī)定):一般變量名、方法名用小寫英文字母開頭,類名首字母用大寫字母,若命名由若干個單詞組成,后面的每個單詞用大寫開頭;文字和常數(shù)全用大寫字母命名;包名全部用小寫字母。5要為程序的子窗口設(shè)定一個由字符串s指定的名字,可以采用的代碼是()AJFrame(s)Bwindow(s) Cnew JFrame(s)Dsuper(s) 參考解析:(P91)本題考核知識點是JFra

5、me類和關(guān)鍵字super。 在用Swing編寫GUI程序時,通常不直接用JFrame創(chuàng)建窗口對象,而用JFrame派生的子類創(chuàng)建窗口對象,在子類中可以加入窗口的特定要求和特別的內(nèi)容,這時可以使用超類的構(gòu)造方法完成窗口的標(biāo)題設(shè)置即super(s)。選項C完整的使用形式可以這樣: JFrame myWin=new JFrame(s)/創(chuàng)建JFrame窗口對象myWin,標(biāo)題是s 但這樣不符合本題題干“為程序的子窗口設(shè)定標(biāo)題”的要求。 6以下關(guān)于菜單的敘述中,正確的是()A菜單分三級定義,最高一級的是菜單條,菜單條中放菜單,菜單中放菜單項B菜單分三級定義,最高一級的是菜單,菜單中放菜單條,菜單條中放

6、菜單項C菜單分兩級定義,最高一級的是菜單,菜單中放菜單項D菜單分兩級定義,最高一級的是菜單條,菜單條中放菜單項參考解析:(P118) 7以下所述內(nèi)容全部是字型要素的是()A字體、字形和大小B字體、風(fēng)格和字號 C字形、風(fēng)格和字號D字形、顏色和字號參考解析:(P137)本題考核知識點是字型要素。 Java的文字字型有三個要素:字體、風(fēng)格和字號。常用的字體有Times New Roman、Symbol、宋體和楷體等。常用的風(fēng)格有正常、粗體和斜體,分別用三個常量表示:Font.PLAIN、Font.BOLD和Font.ITALIC,風(fēng)格可以組合使用。字號是字的大小,單位是磅。 8用Thread子類實現(xiàn)

7、多線程的步驟順序是()A聲明Thread類的子類,創(chuàng)建Thread子類的實例,讓線程調(diào)用start()方法B聲明Thread類的子類,在子類中重新定義run()方法,創(chuàng)建Thread子類的實例C創(chuàng)建Thread子類的實例,讓線程調(diào)用start()方法D聲明Thread類的子類,在子類中重新定義run()方法,創(chuàng)建Thread子類的實例,讓線程調(diào)用start()方法參考解析:(P162)本題考核知識點是多線程。 在Java中實現(xiàn)多線程一般情況下是先聲明Thread類的子類,在子類中重載run()方法,然后創(chuàng)建這個子類的實例,讓線程調(diào)用start()方法9為16位Unicode字符流提供讀和寫操作

8、支持的類分別是()AFileInputStream類和FileOutputStream類 BInputStream類和OutputStream類CFileReader類和FileWriter類 DFile_Reader類和File_Writer類參考解析:(P175)本題考核知識點是輸入輸出流。 為Java的8位字節(jié)流數(shù)據(jù)的讀和寫操作提供支持的類分別是FileInputStream類和FileOutputStream類,它們分別是InputStream類和OutputStream類的子類;為Java的16位Unicode字符流數(shù)據(jù)的讀和寫操作提供支持的類分別是FileReader類和FileW

9、riter類,它們分別是Reader類和Writer類的子類。10能利用對象提供的方法獲得流對象和實現(xiàn)網(wǎng)絡(luò)連接的是()AURLConnection對象BURL對象 CInetAddress對象DTCP/IP對象參考解析:(P191)本題考核知識點是Java網(wǎng)絡(luò)編程。 要接收和發(fā)送信息需用URLConnection類,程序獲得一個URLConnection對象,相當(dāng)于完成對指定URL的一個HTTP連接。程序有了URLConnection對象后,就可使用URLConnection類提供的方法獲得流對象和實現(xiàn)網(wǎng)絡(luò)連接。二、填空題(本大題共10小題,每小題2分,共20分)請在每小題的空格中填上正確答案

10、。錯填、不填均無分。11.一個小應(yīng)用程序必須定義成一個(P5)Applet(JApplet)類的子類。解析本題考核知識點是小應(yīng)用程序。 一個小應(yīng)用程序必須定義成一個Applet類的子類或JApplet類的子類。試題內(nèi)容:一個小應(yīng)用程序必須定義成一個_。12.用條件運算符構(gòu)造一個表達式:goal等于10時,表達式的值為“對了!”,否則,表達式的值為“錯了!”。這個表達式是解析(P16) 試題內(nèi)容:用條件運算符構(gòu)造一個表達式:goal等于10時,表達式的值為"對了!",否則,表達式的值為"錯了!"。這個表達式是_。13.類是對一組相同對象的描述,類概括了同類

11、對象的共有性質(zhì): (P40)數(shù)據(jù)(屬性)和方法(函數(shù)) 解析本題考核知識點是類的概念。 類的每個對象都有自己的標(biāo)識,但它們具有相同的一組屬性和提供相同的一組方法。試題內(nèi)容:類是對一組相同對象的描述,類概括了同類對象的共有性質(zhì):_。14.設(shè)有數(shù)組a和b的定義如下:inta=1,2,3;intb=4,5,6執(zhí)行以下代碼“a=b;”,除了完成賦值操作之外,引起系統(tǒng)額外要做的工作是 (P45)回收內(nèi)存 解析本題考核知識點是數(shù)組。 Java語言根據(jù)相應(yīng)類型變量采用直接訪問還是間接訪問,把類型分成基本類型和引用類型,數(shù)組類型和類類型是引用類型。數(shù)組進行整體賦值,其實是數(shù)組首地址的賦值,原來地址空間會自動釋

12、放。 試題內(nèi)容:設(shè)有數(shù)組a和b的定義如下: int a=1,2,3;int b=4,5,6 執(zhí)行以下代碼"a=b;",除了完成賦值操作之外,引起系統(tǒng)額外要做的工作是_。_。15. (P100)CardLayout 布局使容器的多個組件擁有同一個顯示空間,某一時刻只能顯示一個組件。解析本題考核知識點是布局設(shè)計。 常用的布局類:FlowLayout為依次放置組件;BorderLayout將組件放置在邊界上; CardLayout將組件像撲克牌一樣疊放,而每次只能顯示其中的一個組件;GridLayout將顯示區(qū)域按行、列劃分成一個個大小相等的格子,組件依次放入這些格子中;Grid

13、BagLayout能進行更精細的位置控制。 試題內(nèi)容:_布局使容器的多個組件擁有同一個顯示空間,某一時刻只能顯示一個組件。16.Java語言為處理鼠標(biāo)事件提供兩個接口 (P127)MouseListener接口和MouseMotionListener接口。我的答案:試題內(nèi)容:Java語言為處理鼠標(biāo)事件提供兩個接口:_接口和MouseMotionListener接口。17.某個繪圖方法設(shè)置成“異或模式”繪圖,并用黃色作為異或模式設(shè)定的繪圖顏色。如果當(dāng)時背景色為紅色,并用紅色繪制線段,則線段的實際顏色是 (P140)黃色 解析本題考核知識點是繪圖模式。 當(dāng)繪圖模式設(shè)置為異或模式時,用背景色繪圖出現(xiàn)

14、的是異或的顏色,重畫一個圖形將清除圖形。 試題內(nèi)容:某個繪圖方法設(shè)置成"異或模式"繪圖,并用黃色作為異或模式設(shè)定的繪圖顏色。如果當(dāng)時背景色為紅色,并用紅色繪制線段,則線段的實際顏色是_。18.程序員用Java語言編寫多線程應(yīng)用程序,程序員能控制的關(guān)鍵性工作有兩個方面:一是編寫線程的 (P161)run()方法;二是建立線程實例。 解析本題考核知識點是多線程。 Java程序?qū)崿F(xiàn)多線程應(yīng)用有兩種途徑:一是繼承Thread類聲明Thread子類,用Thread子類創(chuàng)建線程對象。二是在類中實現(xiàn)Runnable接口,在類中提供Runnable接口的run()方法。無論用哪種方法,都需

15、要Java基礎(chǔ)類庫中的Thread類及其方法的支持。程序員能控制的關(guān)鍵性工作只有兩個方面,一是編寫線程的run()方法;二是建立線程實例。 試題內(nèi)容:程序員用Java語言編寫多線程應(yīng)用程序,程序員能控制的關(guān)鍵性工作有兩個方面:一是編寫線程的_方法;二是建立線程實例。19.BufferedWriter類是提供緩沖式輸出的類。程序需要先創(chuàng)建 (P179)FileWriter對象,再利用這個對象創(chuàng)建BufferedWriter對象。 解析本題考核知識點是緩沖式輸出。 實現(xiàn)緩沖式輸出,需要將FileWriter對象接到BufferedWriter對象上,對BufferedWriter對象使用write

16、()方法就能實現(xiàn)緩沖式輸出。試題內(nèi)容:BufferedWriter類是提供緩沖式輸出的類。程序需要先創(chuàng)建_對象,再利用這個對象創(chuàng)建BufferedWriter對象。20.在Java語言中,客戶端使用的套接字類是 (P193)Socket 解析本題考核知識點是Java網(wǎng)絡(luò)編程。 Java語言在實現(xiàn)C/S模式中,套接字分為兩類,在Server端使用ServerSocker類,在Client端使用Socket類。試題內(nèi)容:在Java語言中,客戶端使用的套接字類是_。三、簡答題(本大題共6小題,每小題3分,共18分)21.請寫出表示條件“x=2與y=3有且只有一個成立”的Java表達式”。(P15)(

17、x=2)!=(y=3)或(x=2y!=3)|(x!=2y!=3)我的答案:22.如果類Student是類Person的子類,類Undergraduate是類Student的子類,請指出以下代碼行中哪些是不合法的。Person p1=new Student();Person p2=new Undergraduate();Student s1=new Person();Student s2=new Undergraduate();Undergraduate ug1=new Person();Undergraduate ug2=new Student();Object ob=new Student(

18、);(P57)Student s1=new Person(); Undergraduate ug1=new Person(); Undergraduate ug2=new Student(); 解析本題考核知識點是類之間的is-a關(guān)系。在兩個相關(guān)的類之間,可能會有is-a和has-a關(guān)系。若類A是繼承擴展類B,則子類A和超類B之間是is-a關(guān)系,即類A是一個類B。這種情況下,A類對象一定可以是B類類型,因為B類的所有成員A類也有。也就是子類對象可以是超類類型。語句B b=new A()是正確的,A a=new B()是錯誤的。 23.請寫出程序處理文本框輸入結(jié)束事件(回車)添加監(jiān)視器的方法,以

19、及監(jiān)視器類必須實現(xiàn)的接口方法。 (P102)為對象添加監(jiān)視器的方法是addActionListener;類必須實現(xiàn)的方法是public void actionPerformed(ActionEvent e)。 解析本題考核知識點是文本框輸入結(jié)束動作事件(回車)。 文本框輸入結(jié)束動作事件相應(yīng)的監(jiān)視器接口為ActionListener,要實現(xiàn)的接口方法是actionPerformed(),添加監(jiān)視器的方法是addActoinListener()。 24.請寫出一條語句,能夠繪制一條從點(20,30)開始,長為100像素的水平線段。設(shè)調(diào)用的對象是類型為Graphics的g。(P140)g.drawL

20、ine(20,30,120,30);或g.drawLine(120,30,20,30); 解析本題考核知識點是畫線段。 方法中有四個參數(shù)分別表示線段的兩個端點坐標(biāo),當(dāng)兩個端點坐標(biāo)相同時,將畫出一個點,而不再是線段。 25.某Java程序要使用文件輸入輸出流,請寫出該程序所需要的import語句。(P175)import java.io.*; 解析本題考核知識點是文件輸入輸出流。 實現(xiàn)輸入輸出操作的類庫在java.io包中。包中有一組支持打開流、向流寫數(shù)據(jù)、從流讀取數(shù)據(jù)和關(guān)閉流等操作的類,要使用這些類,程序必須導(dǎo)入java.io包。 26.JDBC是Java程序與數(shù)據(jù)庫連接的API,請寫出JDB

21、C能做的三件事情。 (P199)與某個數(shù)據(jù)庫建立連接;向數(shù)據(jù)庫發(fā)送SQL語句;處理數(shù)據(jù)庫返回的結(jié)果。 解析本題考核知識點是java數(shù)據(jù)庫編程基礎(chǔ)。 Java數(shù)據(jù)庫連接JDBC由一組用Java語言編寫的類和接口組成,JDBC是Java程序與數(shù)據(jù)庫連接的API。它可以做三件事情。四、程序填空題(本大題共5小題,每空2分,共20分)27.方法int maxDigit(int n)的功能是找出十進制整數(shù)n各位中最大的一位數(shù)字。例如,n=23765,該方法的返回值是7。static int maxDigit(int n)int c=0,d;while(n0)d=n%10if(dc) c=d;n/=10;

22、return c 解析本題考核知識點是%運算符和return語句。 方法中d為循環(huán)分離出整數(shù)n的每一位數(shù)字(每次取n的個位數(shù)字,n也在變化:n/=10),在找出最大的數(shù)字后存入了變量c中,因方法有返回值類型為int,所以必須有return語句,要返回最大數(shù)字。,28.某程序的界面包含一個文本區(qū)text1、一個文本框text2和一個按鈕button。實現(xiàn)在文本區(qū)中輸入整數(shù)序列后,點擊按鈕,程序響應(yīng)按鈕事件,累計文本區(qū)輸入的整數(shù)序列,并將總和輸出在文本框中。這里給出的是其中相應(yīng)按鈕事件的方法。public void actionPerformed(ActionEvent e)int sum;if(

23、e.getSource()=button)String s=text1. getText();/獲取text1中的信息StringTokenizer fenxi=new StringTokenizer(s,n);int n=fenxi.countTokens();double a=new doublen;for(int i=0;in;i+)String temp=fenxi.nextToken();ai=Double.valueOf(temp).doubleValue();sum=0;for(int i=0;in;i+)sum+=ai或sum=sum+ai;text2.setText(+sum

24、);/刷新顯示。 解析本題考核知識點是圖形界面設(shè)計中按鈕事件方法的編寫。 獲取文本框中的內(nèi)容使用的方法是getText(),方法名首字母均小寫,后面單詞首字母大寫。獲取整數(shù)序列后,使用單詞分析器分解出每個整數(shù)(有類型轉(zhuǎn)換過程)存入數(shù)組a中,然后對所有整數(shù)進行求和。,29.以下是生成菜單項對象,以及菜單項選擇事件處理方法的部分代碼。要求當(dāng)菜單項singingItem被選中時,在文本框text中輸出“唱歌菜單項被選中!”的字樣。singingItem=new_ JMenuItem (唱歌);/生成菜單項對象public void actionPerformed(ActionEvent e)if(e

25、.getSource()=singingItem)text.setText(e. getActionCommand ()+ 菜單項被選中!); 解析本題考核知識點是菜單。 生成菜單條是用類JMenuBar的構(gòu)造方法JMenuBar(),把菜單條放入JFrame窗口中用setJMenuBar()方法;生成菜單用類JMenu的構(gòu)造方法JMenu()或JMenu(String s);生成菜單項用類JMenuItem的構(gòu)造方法JMenuItem()或JMenuItem(String s)。在菜單事件中獲得事件源的方法是getSource(),獲得事件源文字信息的方法是getActionCommand(

26、)。30.某小應(yīng)用程序?qū)崿F(xiàn)幻燈片放映。小應(yīng)用程序的init()方法將幻燈片讀入數(shù)組中存儲和注冊鼠標(biāo)監(jiān)視器。程序運行時,單擊鼠標(biāo),就順序變換放映幻燈片的序號。這里給出的是其中的paint()方法和mousePressed()方法。final int number=30;/假定幻燈片有30張int count=0;Imagepic=new Imagenumber;public void paint(Graphics gc)if(piccount)!=null)gc.drawImage(piccount,10,10,piccount.getWidth(this),piccount.getHeight

27、(this),this);public void mousePressed(MouseEvent e)count=(count+1)% number;/循環(huán)逐張顯示repaint()或update(); 解析本題考核知識點是小應(yīng)用程序中paint()和repaint()方法的使用。 paint()方法需要Graphics類型參數(shù),當(dāng)單擊鼠標(biāo)時,要在paint()方法中再次顯示圖片,可以調(diào)用repaint()方法,使程序先清除paint()運行的結(jié)果,再運行paint();也可以調(diào)用update()方法,該方法會使系統(tǒng)自動調(diào)用repaint()方法。31.以下定義的類shareDataManag

28、er用于管理多個線程共享數(shù)據(jù)data。一些線程要減少data,另一些線程要增加data。由于data不可以是負(fù)值,修改data的方法對這些線程來說不僅要互斥,還要同步。類提供一個方法modiData()供修改data的線程調(diào)用,該方法在data修改結(jié)束后,應(yīng)通知其它等待進入這個方法的線程。class ShareDataManagerint data=0; synchronized void modiData(int delta)if(delta=0)data+=delta;else while(data delta)trySystem.out.println(發(fā)生等待!);wait();cat

29、ch(InterruptedException e) data-=delta;notify();ShareDataManager(int ititData)data=initData; 解析本題考核知識點是線程的互斥和同步。 在Java語言中,使用關(guān)鍵字synchronized定義臨界段,能對共享對象的操作上鎖,使得某一時刻只允許一個線程使用這個共享對象。但是為了同步,可在臨界段中使用wait()、notify()和notifyAll()方法。wait()讓線程一直等待,notify()方法通知第一個處于等待的線程結(jié)束等待。notifyAll()方法使所有處于等待的線程都結(jié)束等待,重新競爭CP

30、U。五、程序分析題(本大題共5小題,每小題4分,共20分)32.閱讀下列程序,請寫出該程序的輸出結(jié)果。import java.applet.*;import java.awt.*;class Pointint x,y;Point(int xx,int yy) x=xx;y=yy;Point(Point p)x=p.x;y=p.y; void m(int dx,int dy)x+=dx;y+=dy;class Circle extends Pointint r;Circle(Point p, int rr) super(p); r=rr; float c() return 3.14f*2.0f*

31、r; float a() return 3.14f*r*r;public class sample extends AppletCircle yuan; Point d;public void init() d=new Point(2,5);yuan=new Circle(d,10);public void paint(Graphics g)g.drawString(yuan Circle+(int)(yuan.c()*100.0)/100.0,5,20);g.drawString(yuan Area+(int)(yuan.a()*100.0)/100.0,5,40);yuan Circle

32、62.8(2分) yuan Area 314.0(2分)我的答案:33閱讀下列程序,請寫出該程序的功能。import java. util.*;public class Class1public static void main(Srting args)Date date1=new Date();System. out. println (datel);String t=datel.toString();int endPos=t.indexOf(C);t=t.substring(11,endPos);System. out println(t); 程序獲得當(dāng)前日期,將日期的字符串表示輸出;(2

33、分)截取日期字符串中從第11位開始到字母C之前部分字符串,并輸出。(2分) 34.閱讀下列程序,請寫出該程序的功能。import java.applet.*;import javax.swing.*;import java.awt.event.*;public class Class l extends Applet implements ActionListenerJTextField text1,text2;public void init()text1=new JTextField(10); text2=new JTextField(10);setSize(200,100); add(t

34、ext1); add(text2);text1.addActionListener(this);public void actionPerformed(Action Event e)long n;if(e.getSource()=text1)n=Long.parseLong(text1.getText();text2.setText(String.valueOf(n*n);在第一個文本框輸入數(shù)據(jù),輸入結(jié)束(回車)后,(2分)在第二個文本框輸出該整數(shù)的平方。(2分)35.閱讀以下程序,請寫出該程序的功能。import javax.swing.*; import java.awt.*;import

35、 java.awt.event.*;class MyScrollBar extends JscrollBarpublic MyScrollBar(int init, int len, int low, int high)super(JScrollBar. HORIZONTAL, init,len,low,high);class MyWindow extends JFrame implements AdjustmentListenerprivate JTextField text;MyWindow(String s)super(s);MyScrollBar myBar=new MyScrollB

36、ar(10,10,0,255);Container con=this. getContentPane();con. setLayout(new GridLayout(2,1);this. setSize(200,100);this. setLocation(100,100);myBar.addAdjustmentListener(this);text=new JTextField(,20);con. add(text);con.add(myBar);this.setVisible(true);public void adjustmentValueChanged(AdjustmentEvent

37、e)MyScrollBar myBar=(MyScrollBar)e.getAdjustable();text.setText(+myBar.getValue();public class Class1public static void main(Stringargs)MyWindow myWindow=new MyWindow(text5_4);滑動滾動條的滑塊,在文本框顯示塊位置對應(yīng)的數(shù)值。 36.小應(yīng)用程序創(chuàng)建一個線程。例子使用容器類方法getGraphics()獲得Graphics對象,給線程作為畫筆使用。請寫出該程序中這個線程的工作內(nèi)容。import java.applet.*;i

38、mport java.awt.*;public class Class1 extends java.applet.Applet implements RunnableThread redBall;Graphics redPen;int rx=0,ry=0;public void init()setSize(250,200);redBall =new Thread(this);redPen=getGraphics();redPen. setColor(Color.red);setBackground(Color.gray);public void start() redBall.start();

39、 public void run()while(true)if(Thread.currentThread()=redBall)rx=(int)(80*Math.random();ry=(int)(80*Math.random();red Pen.setColor(Color.red);red Pen.fillOval(100+rx,100+ry,10,10);tryredBall.sleep(500);catch(InterruptedException e)redPen.setColor(Color.gray);redPen.fillOval(100+rx,100+ry,10,10);隨機位

40、置顯示一個小圓,程序采用背景色重畫的辦法,清除前一次顯示的小圓。 解析本題考核知識點是圖形繪制和線程綜合應(yīng)用。 在run()方法中隨機產(chǎn)生一個坐標(biāo)點,以此為左上角坐標(biāo),紅色填充一個小圓形區(qū)域,500毫秒后,用背景色填充同一個小圓形區(qū)域,使紅色小圓形區(qū)域消失,馬上又隨機產(chǎn)生一個坐標(biāo)點,再紅色填充,再消失,循環(huán)不止。我的答案:六、程序設(shè)計題(本大題共2小題,每小題6分,共12分)37編寫一個方法halfArray(),要求該方法有一個元素類型為int的數(shù)組參數(shù),方法返回一個新數(shù)組,新數(shù)組的長度與參數(shù)數(shù)組的長度相同,而新數(shù)組元素的值是參數(shù)數(shù)組各元素的一半。答案:int halfArray(int a

41、)(1分) int b=new inta.length;(2分) for(int k=0;ka.length;k+)(2分) bk=ak/2; return b;(1分) 解析本題考核知識點是面向?qū)ο蟪绦蛟O(shè)計中的方法設(shè)計。 編寫方法,需要確定方法名,已給出halfArray;再確定參數(shù)個數(shù)及類型,要求是一個int型數(shù)組參數(shù)即halfArray(int );再就是確定方法返回值類型,要求返回一個新數(shù)組,新數(shù)組元素類型要確定下來,根據(jù)題意,新數(shù)組元素是參數(shù)數(shù)組相應(yīng)元素的一半,這一半應(yīng)該可能是小數(shù),所以方法頭應(yīng)該為floathalfArray(int )而不應(yīng)該是int halfAray(int )

42、,方法體中的一半也應(yīng)該是除以2.0。并轉(zhuǎn)換成float類型,方法體定義的數(shù)組b也應(yīng)該是float類型?;蛘叻祷刂殿愋秃蛿?shù)組b的類型都定義成double類型。38一個Java小應(yīng)用程序,界面有三個文本框和兩個按鈕,前兩個文本框用于輸入整數(shù),第三個文本框用于輸出結(jié)果。兩個按鈕分別表示加和減運算。當(dāng)前兩個文本框輸入整數(shù)后,點擊相應(yīng)按鈕,程序就將計算結(jié)果輸出在第三個文本框中。以下是程序的大部分,其中監(jiān)視按鈕事件的方法未給出,試編寫處理按鈕事件的方法。注:這里是給定部分的程序,你要編寫的是actionPerformed(ActionEvent e)方法。import java.applet.*;impo

43、rt javax.swing.*;import java.awt.*; import java.awt.event.*; class Panel1 extends JPanelJTextField text1, text2, text3;JButton addButton,subButton;Panel1()text1=new JTextField(10);text2=new JTextField(10);text3=new JTextField(10);setLayout(new GridLayout(5,1);addButton=new JButton(加);subButton=new J

44、Button(減);add(text1); add(text2);add(text3); add(addButton); add(subButton);public class Classl extends Applet implements ActionListenerPane1 panel;public void init()setSize(100,200); panel=new Panel1();add(panel);(panel.addButton).addActionListener(this);(panel.subButton). addActionListener(this);p

45、ublic void actionPerformed(ActionEvent e)/這里是你要編寫的代碼答案:long n1,n2;(1分) if(e.getSource()=(panel.addButton)(3分) n1=Long.parseLong(panel.text1.getText(); n2=Long.parseLong(Panel.text2.getText(); panel.text3.setText(String.valueOf(n1+n2); else if(e.getSource()=(panel.subButton)(2分) n1=Long.parseLong(pan

46、el.text1.getText(); n2=Long.parseLong(panel.text2.getText(); panel.text3.setText(String.valueOf(n1-n2); 注:將panel.text1寫成text1,panel.text2寫成text2整體扣1分。 解析本題考核知識點是圖形界面設(shè)計、JPanel、JTextField、JButton及其事件的處理。 在方法體中的代碼類似于34小題。容器的嵌套不要忽略了。全國2009年1月Java語言程序設(shè)計(一)試題課程代碼:04747一、單項選擇題(本大題共10小題,每小題1分,共10分)在每小題列出的四個

47、備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。1.下列字符組合不能作為Java整型常量的是( )A.078B.0x3ACBC.5000D.0x3ABC2.以下程序代碼的輸出結(jié)果是( ) int x = 10; while (x > 7) System.out.print("*"); x-;A.*B.*C.* D.*3.設(shè)類U聲明,及對象u和v的定義如下:class U int x, int y; U(int a, int b)x= a; y = b; void copy(U a) x = a.x; y = a.y;U u =

48、new U(1, 2), v = new U(2, 3);在以下供選擇的代碼中,可能引起系統(tǒng)回收內(nèi)存的是( )A.u.x=v.y;u.y=v.x;B.u=v;C.u.copy(v);D.v.copy(u);4.設(shè)有以下代碼: String s l="123"; String s2="123"; String s3=new String("123");則表達式s1=s2和s1=s3的值分別是( )A.true,trueB.false,falseC.true,falseD.false,true5.以下關(guān)于AWT與Swing之間關(guān)系的敘述,

49、正確的是( )A.Swing是AWT的提高和擴展B.在寫GUI程序時,AWT和Swing不能同時使用C.AWT和Swing在不同的平臺上都有相同的表示D.AWT中的類是從Swing繼承的6.在以下Swing組件中,能為它指定布局管理器的是( )A.JScrollBar對象B.JMenuBar對象C.JComboBox對象D.JDialog對象7.一般的繪圖程序要定義一個JPanel子類。在JPanel子類中還要重定義一個方法,在這個方法中調(diào)用繪圖方法,繪制各種圖形。要重定義的方法是( )A.paint()B.paintComponent()C.repaint()D.update()8.用Run

50、nable接口實現(xiàn)多線程的主要工作是( )A.聲明實現(xiàn)Runnable接口的類,在類內(nèi)實現(xiàn)run()方法,讓線程調(diào)用start()方法。B.聲明實現(xiàn)Runnable接口的類,在類內(nèi)實現(xiàn)run()方法,在類內(nèi)聲明線程對象,在init()方法中創(chuàng)建新線程,啟動新線程。C.聲明實現(xiàn)Runnable接口的類,在類內(nèi)實現(xiàn)run()方法,在類內(nèi)聲明線程對象,在Init()方法或start()方法中創(chuàng)建新線程,在start()方法中啟動新線程。D.聲明實現(xiàn)Runnable接口的類,在類內(nèi)實現(xiàn)run()方法,在init()方法中創(chuàng)建新線程,在start()方法中啟動新線程。9.程序如果要按行輸入輸出文件的字符

51、流,最合理的方法是采用( )A.BufferedReader類和BufferedWriter類B.InputStream類和OutputStream類C.FileReader類和FileWriter類D.File_Reader類和File_Writer類10.在編寫訪問數(shù)據(jù)庫的Java程序中,要用到DriverManager類。該類的作用是( )A.存儲查詢結(jié)果B.處理與數(shù)據(jù)庫的連接C.在指定的連接中處理SQL語句D.處理驅(qū)動程序的加載和建立數(shù)據(jù)庫連接二、填空題(本大題共10小題,每小題2分,共20分)請在每小題的空格中填上正確答案。錯填、不填均無分。11.Java程序的字節(jié)碼文件的擴展名是_

52、。 class12.構(gòu)造一個Java表達式:yx>5,并且x!=0。這個表達式是_。y/x>5 && x!=013.在類聲明之前用_修飾,聲明類是不能被再繼承的類,即它不能再有子類。final14.設(shè)有字符串定義:String s="ABCDABCD";則表達式s.indexOf("B")的值是_。 115.在實現(xiàn)接口ActionListener的方法actionPerformed()中,常用的有兩個獲得事件源的方法,它們是getActionCommand()和_。getSource()16.使用單選按鈕的方法是將一些單選按鈕

53、用_對象分組,使同一組內(nèi)的單選按鈕只允許一個被選中。 ButtonGroup17.在Java語言中,用類Font對象設(shè)置字型。如果要設(shè)置的字型是:細明體、正常風(fēng)格(Font.PLAIN),12磅字號,構(gòu)造這樣要求的Font對象fnA的代碼是_。Font fnA=new Font(“細明體”,Font.PLAIN.12)18.線程從阻塞狀態(tài)恢復(fù)到就緒狀態(tài),有三種途徑:自動恢復(fù)、用resume()方法恢復(fù)和用_方法恢復(fù)。notify()或notifyAll()19.為普通的8位字節(jié)流文件讀和寫操作提供支持的類是_。InputStream OutputStream20.Connection類是java.sql包中用于處理與數(shù)據(jù)庫連接的類。Connection對象是用來表示_的對象,Java程序?qū)?shù)據(jù)庫的操作都在這種對象上進行。數(shù)據(jù)庫連接

溫馨提示

  • 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

提交評論