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

下載本文檔

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

文檔簡介

10月全國自考Java語言程序設(shè)計(一)真題及答案2022年10月全國自考Java語言程序設(shè)計(一)真題及答案

一、單項選擇題(本大題共10小題,每小題1分,共10分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。

1.下面供選字符序列中,不屬于Java語言關(guān)鍵字的是

()(1分)

A:gotoB:nullC:falseD:native

2.以下程序代碼的輸出結(jié)果是()

intx=73;System.out.println(x1);(1分)

A:36B:36.5C:37D:true

3.Java語言中,在類定義時用final關(guān)鍵字修飾,是指

這個類()(1分)

A:不能被繼承

B:在子類的方法中不能被調(diào)用C:能被別的程序自由調(diào)用

4.以下是關(guān)于字符串運算的代碼,執(zhí)行該代碼段的輸出

結(jié)果是()

Strings=″__-__89″,s1,s2;

s1=s.substring(2);s2=s.substring(2,5);System.out.println(s1+s2);(1分)

A:__-__B:__-__2345C:0__D:__-__234

5.以下是關(guān)于FlowLayout布局組件排列順序的敘述,

正確的是()(1分)

A:從上到下排列B:從左到右排列C:從下到上排列D:從右到左排列

6.程序執(zhí)行方法showOpenDialog(),能打開“打開文件

對話框”,如果該方法的返回值是

JFileChooser.___OPTION,則用戶執(zhí)行的動作是()(1分)

A:對話框非正常關(guān)閉B:按下“打開/保存”按鈕

D:重新輸入了一個文件名

7.設(shè)已經(jīng)有Graphics2D對象g2d,Rectangle2D對象r,

繪制對象r的代碼是()(1分)

A:g2d.draw(r)B:g2d.drawRect(r)C:r.draw()D:r.drawRect()

8.在以下供選擇的方法中,能讓線程從阻塞狀態(tài)恢復(fù)到

就緒狀態(tài)的方法是()(1分)

A:start()B:init()C:resume()D:run()

9.在以下供選擇的方法中,不能用于文件隨機訪問的方

法是()(1分)

A:readChar()B:readLong()C:readInteger()D:writeChars()

10.某程序利用網(wǎng)址參數(shù)創(chuàng)建URL對象url,接著希望利

用對象url獲得URLConnection對象,則這個url對象要調(diào)

用的方法是()(1分)

A

:connection()B:URLConnection()

C:getConnection()D:

openConnection()

二、填空題(本大題共10小題,每小題2分,共20分

)請在每小題的空格中填上正確答案。錯填、不填均無分。

1.一個應(yīng)用程序必須在某個類中定義的方法是。(2分)2.import語句的格式是。(2分)

3.在面向?qū)ο笳Z言中,對象之間的交互通過實現(xiàn)。(2分)4.設(shè)有兩個字符串對象str1和str2,則表達(dá)式“str1==str2”的意義是判別字符串str1和str2。(2分)5.一個基于Swing的應(yīng)用程序可能在任何平臺上都會有相同的。(2分)

6.處理鍵盤事件的Java程序,要實現(xiàn)的接口是。(2分)7.Java語言約定,坐標(biāo)原點位于繪圖區(qū)域的。(2分)8.Java程序中,在臨界段中使用方法,使執(zhí)行該方法的線程等待。(2分)

9.BufferedWriter類對象能按行輸入文件的內(nèi)容,按行輸入的方法是。(2分)

10.在包中有InetAddress類的定義,Java程序中的InetAddress類對象存儲的內(nèi)容是。(2分)

三、簡答題(本大題共6小題,每小題3分,共18分)

1.請寫出實現(xiàn)計算y=|x|的if語句。(3分)

2.以下代碼定義了一個類,請指出其中三條不合法的代

碼行(行號參見注釋)。classTest22{//1

floatu;staticfloatv;//2staticvoidsetUV(booleanf){//3u=fac1(f);//4v=fac2(!f);}//5

staticfloatfac1(booleanf){returnf?u:v;}//6floatfac2(booleanf){returnf?v:u;}//7}//8(3分)

3.在java.awt.event中,用來檢測并對事件做出反應(yīng)

的模型涉及三種對象。請寫出這三種對象。(3分)

4.寫出設(shè)置Font對象fn的Java語句,要求Courier

字體,BOLD風(fēng)格,18磅字號,設(shè)調(diào)用對象的類型為Graphics

的g。(3分)

5.

通過流的構(gòu)造方法建立文件流對象,請寫出創(chuàng)建輸入

輸出文件流對象的兩種常用構(gòu)造方法。(3分)

6.當(dāng)Client程序和Server程序需要通信時,可以用

Socket類建立套接字連接,請寫出雙方實現(xiàn)通信的兩種方式。(3分)

四、程序填空題(本大題共5小題,每空2

分,共20分)1.方法intsigmaEvenNum(int[]a)的功能是求已知數(shù)組中偶數(shù)的個數(shù)。

staticintsigmaEvenNum(int[]a){ints=0;

for(inti=0;;i++){if()s++;}

returns;}(2分)

2.某小應(yīng)用程序窗口包含有文本區(qū)dispArea,以及一個帶

文字“追加”的按鈕。當(dāng)點擊這個按鈕時,程序彈出一個輸入信息的對話框,并將對話框中輸入的內(nèi)容追加到文本區(qū)中。以下是其中相應(yīng)“追加”按鈕事件的方法。

publicvoidactionPerformed(ActionEvente){if(e..equals(“追加")){String

result=(String)JOptionPane.showInputDialog(null,"請輸入信息",

"輸入對話框",JOptionPane.PLAIN___,null,null,null);

dispArea.(result+"");}}(2分)

3.以下程序段是選擇項目事件處理程序的樣例,一個由3個單選按鈕組成的選擇組被定義為一個面板子類Panel,當(dāng)某個按鈕被選中時,按鈕監(jiān)視程序在類MyWindow的一個文本框中輸出某個按鈕被選中的字樣。以下是類Panel的定義。classPanelextendsJPanelimplementsItemListener{staticJRadioButtonbox[];ButtonGroupg;

Panel(StringradioNameList[]){

box=newJRadioButton[radioNameList.length];setLayout(newGridLayout(1,radioNameList.length));g=newButtonGroup();

for(inti=0;iradioNameList.length;i++){box[i]=newJRadioButton(,false);g.add(box[i]);add(box[i]);box[i].addItemListener(this);}}

publicvoiditemStateChanged(ItemEvente){for(inti=0;ibox.length;i++){if(box[i].){

MyWindow.text.setText(box[i].getLabel()+"被選中!");}}}}(2分)

4.用getImage()方法和drawImage()方法能加載和顯示圖像。以下程序加載的是seattle.jpg文件,并假定該文件與包含這個小應(yīng)用程序的HTML文件在同一個目錄下。importjava.awt.*;importjava.applet.*;

publicclassSimpleImageLoadextendsApplet{Imageimg;

publicvoidinit(){

img=getImage(,"seattle.jpg");}

publicvoidpaint(Graphicsg){g.drawImage(img,0,0,);}}(2分)

5.以下程序段定義的類ShareDataManager用于管理多個線程共享數(shù)據(jù)data。為了對data的取、存和修改操作保持完整,多線程在data上的操作有互斥要求;另外,限制線程對data的修改不能讓data為負(fù)數(shù),所以多線程在data上的操作還有同步要求。為此,程序為管理data上的操作定義成類,以下是管理共享數(shù)據(jù)data的類ShareDataManager的代碼。

classShareDataManager{intdata;

ShareDataManager(intinit){data=init;}publicintgetData(){returndata;}

privatevoidputData(intnewValue){data=newValue;}synchronizedvoidmodiData(intdelta){

if(delta=0){putData(getData()+delta);}else{while(0){

try{wait();}catch(InterruptedExceptione){}}

putData(getData()+delta);};

}}(2分)

五、程序分析題(本大題共5小題,每小題4分,共20分)

1.閱讀下列程序,請寫出該程序的輸出結(jié)果。

classTree{

privateStringname;publicbooleanflower;publicintbirthYear;

Tree(Stringn,booleanf,inty){name=n;flower=f;birthYear=y;}

publicvoidsetName(Stringn){name=n;}publicStringgetName(){returnname;}publicvoidprintTree(Stringstr){

System.out.println(str);System.out.println("Name:"+

name);

System.out.println("BirthYear:"+birthYear);System.out.println("Flower:"+flower);}}

classPineTreeextendsTree{publicbooleanconiferous=true;

PineTree(Stringn,booleanf,inty,booleanc){super(n,f,y);coniferous=c;}publicvoidprintTree(Stringstr){super.printTree(str);

System.out.println("Coniferous:"+coniferous);}}

classTest32{

publicstaticvoidmain(String[]args){TreefOb=newTree("MayFlower",true,1980);PineTreesOb=newPineTree("Pine",false,2022年,true);

fOb.printTree("fOb:");sOb.printTree("sOb:");}}(4分)

2.閱讀下列程序,請寫出該程序的輸出結(jié)果。

classTest33{

staticvoids(intb[],intk){inti,j,t;

for(i=1;ii++){

for(t=b[i],j=i-1;j=0tb[j];j--)b[j+1]=b[j];b[j+1]=t;}}

publicstaticvoidmain(String[]args){inti,a[]={6,12,7,11,5};s(a,5);

for(i=0;ia.length;i++)System.out.print(a[i]+"");

System.out.Println();}}(4分)

3.閱讀下列程序,請寫出該程序的功能。

importjava.applet.*;importjavax.swing.*;

importjava.awt.*;importjava.awt.event.*;publicclassTest34extendsAppletimplementsActionListener{

JTextFieldtext;intr;JPanelpanel;publicvoidpaint(Graphicsg){Graphicsgc=panel.getGraphics();gc.clearRect(0,0,panel.getWidth(),panel.getHeight());

gc.setColor(Color.red);gc.fillOval(10,10,r,r);}

publicvoidinit(){

text=newJTextField(10);panel=newJPanel();setSize(200,100);setLayout(newGridLayout(2,1));add(text);add(panel);text.addActionListener(this);}

publicvoidactionPerformed(ActionEvente){if(e.getSource()==text){

r=Integer.parseInt(text.getText());repaint();}}

}(4分)

4.閱讀下列程序,請回答以下問題:

(1)該程序的菜單條中共有幾個菜單項?(2)單擊哪個菜單項,可以打開一個對話框?(3)該對話框是強制型還是非強制型?(4)該對話框中顯示的是什么內(nèi)容?

importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.util.*;classMyDialogextendsJDialog{MyDialog(JFrameF,Strings){

super(F,s,false);Datedate=newDate();Stringt=date.toString();JLabeltext=newJLabel(t);

add(text);setSize(200,100);setVisible(true);}}

publicclassMenuDemoextendsJFrameimplementsActionListener{

JMenuBarmenubar;JMenuaction;JMenuItemshow,set,quit;publicMenuDemo(){

menubar=newJMenuBar();setJMenuBar(menubar);action=newJMenu("操作");menubar.add(action);show=newJMenuItem("顯示");action.add(show);set=newJMenuItem("設(shè)置");action.add(set);action.addSeparator();quit=newJMenuItem("退出");action.add(quit);show.addActionListener(this);

set.addActionListener(this);quit.addActionListener(this);

setSize(300,300);setVisible(true);}

publicvoidactionPerformed(ActionEvente){if(e.getSource()==show){MyDialogdiag=newMyDialog(this,"信息");}

elseif(e.getSource()==set){this.setTitle("菜單演示");}

elseif(e.getSource()==quit){System.exit(0);}}

publicstaticvoidmain(String[]args){newMenuDemo();}}(4分)

5.閱讀以下程序,請寫出該程序的輸出結(jié)果。

classCurrentThreadDemo{

publicstaticvoidmain(Stringargs[]){

Threadt=newThread();System.out.println("Currentthread");

t.setName("MyThread");System.out.println("Afternamechange");

try{for(intn=3;nn--){

System.out.println(n);Thread.sleep(1000);}

}catch(InterruptedExceptione){

System.out.println("Mainthreadinterrupted");}}}(4分)

六、程序設(shè)計題(本大題共2小題,每小題6分,共12分)

1.編寫方法intsearchMaxNumIndex(int[]a),尋找

已知數(shù)組中最大數(shù)的下標(biāo)并返回。(6分)

2.以下程序的界面有一個按鈕button、一個文本區(qū)

textA和一個文本框textF。程序運行時,在文本區(qū)中輸入

數(shù)字序列,單擊按鈕,則在

溫馨提示

  • 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

提交評論