全國(guó)新年月高等教育自學(xué)考試Java語言程序設(shè)計(jì)新一試題_第1頁
全國(guó)新年月高等教育自學(xué)考試Java語言程序設(shè)計(jì)新一試題_第2頁
全國(guó)新年月高等教育自學(xué)考試Java語言程序設(shè)計(jì)新一試題_第3頁
全國(guó)新年月高等教育自學(xué)考試Java語言程序設(shè)計(jì)新一試題_第4頁
全國(guó)新年月高等教育自學(xué)考試Java語言程序設(shè)計(jì)新一試題_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

全國(guó)2009年1月自學(xué)考試 Java語言程序設(shè)計(jì)(一)試題 課程代碼:04747一、單項(xiàng)選擇題(本大題共10小題,每小題1分,共10分)1.下列字符組合不能作為Java整型常量的是()A.078B.0x3ACBC.5000D.0x3ABC2.以下程序代碼的輸出結(jié)果是()intx=10;while(x>7){System.out.print("*");x--;}A.**B.***C.*D.****3.設(shè)類U聲明,及對(duì)象u和v的定義如下:classU{intx,inty;U(inta,intb){x=a;y=b;}voidcopy(Ua){x=a.x;y=a.y;}}Uu=newU(1,2),v=newU(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è)有以下代碼:Stringsl="123";Strings2="123";Strings3=newString("123");則表達(dá)式s1==s2和s1==s3的值分別是()A.true,trueB.false,falseC.true,falseD.false,true5.以下關(guān)于AWT與Swing之間關(guān)系的敘述,正確的是()A.Swing是AWT的提高和擴(kuò)展B.在寫GUI程序時(shí),AWT和Swing不能同時(shí)使用C.AWT和Swing在不同的平臺(tái)上都有相同的表示D.AWT中的類是從Swing繼承的6.在以下Swing組件中,能為它指定布局管理器的是()A.JScrollBar對(duì)象B.JMenuBar對(duì)象C.JComboBox對(duì)象D.JDialog對(duì)象7.一般的繪圖程序要定義一個(gè)JPanel子類。在JPanel子類中還要重定義一個(gè)方法,在這個(gè)方法中調(diào)用繪圖方法,繪制各種圖形。要重定義的方法是()A.paint()B.paintComponent()C.repaint()D.update()8.用Runnable接口實(shí)現(xiàn)多線程的主要工作是()A.聲明實(shí)現(xiàn)Runnable接口的類,在類內(nèi)實(shí)現(xiàn)run()方法,讓線程調(diào)用start()方法。B.聲明實(shí)現(xiàn)Runnable接口的類,在類內(nèi)實(shí)現(xiàn)run()方法,在類內(nèi)聲明線程對(duì)象,在init()方法中創(chuàng)建新線程,啟動(dòng)新線程。C.聲明實(shí)現(xiàn)Runnable接口的類,在類內(nèi)實(shí)現(xiàn)run()方法,在類內(nèi)聲明線程對(duì)象,在Init()方法或start()方法中創(chuàng)建新線程,在start()方法中啟動(dòng)新線程。D.聲明實(shí)現(xiàn)Runnable接口的類,在類內(nèi)實(shí)現(xiàn)run()方法,在init()方法中創(chuàng)建新線程,在start()方法中啟動(dòng)新線程。9.程序如果要按行輸入輸出文件的字符流,最合理的方法是采用()A.BufferedReader類和BufferedWriter類B.InputStream類和OutputStream類C.FileReader類和FileWriter類D.File_Reader類和File_Writer類10.在編寫訪問數(shù)據(jù)庫的Java程序中,要用到DriverManager類。該類的作用是()A.存儲(chǔ)查詢結(jié)果B.處理與數(shù)據(jù)庫的連接C.在指定的連接中處理SQL語句處理驅(qū)動(dòng)程序的加載和建立數(shù)據(jù)庫連接二、填空題(本大題共10小題,每小題 2分,共20分)11.Java程序的字節(jié)碼文件的擴(kuò)展名是 _________。12.構(gòu)造一個(gè)Java表達(dá)式:y/x>5,并且x!=0。這個(gè)表達(dá)式是 _________。13.在類聲明之前用 _________修飾,聲明類是不能被再繼承的類,即它不能再有子類。14.設(shè)有字符串定義: Strings="ABCDABCD" ;則表達(dá)式s.indexOf("B")的值是_________。15.在實(shí)現(xiàn)接口ActionListener的方法actionPerformed()中,常用的有兩個(gè)獲得事件源的方法,它們是getActionCommand()和_________。16.使用單選按鈕的方法是將一些單選按鈕用 ___對(duì)象分組使同一組內(nèi)的單選按鈕只允許一個(gè)被選中。17.在Java語言中,用類Font對(duì)象設(shè)置字型。如果要設(shè)置的字型是: 細(xì)明體、正常風(fēng)格(Font.PLAIN),12磅字號(hào),構(gòu)造這樣要求的 Font對(duì)象fnA的代碼是_________。18.線程從阻塞狀態(tài)恢復(fù)到就緒狀態(tài),有三種途徑:自動(dòng)恢復(fù)、用

resume()方法恢復(fù)和用

____方法恢復(fù)。19.為普通的8位字節(jié)流文件讀和寫操作提供支持的類是 _________。20.Connection類是java.sql包中用于處理與數(shù)據(jù)庫連接的類。 Connection的對(duì)象,Java程序?qū)?shù)據(jù)庫的操作都在這種對(duì)象上進(jìn)行。

對(duì)象是用來表示

_________三、簡(jiǎn)答題(本大題共6小題,每小題 3分,共18分)21.請(qǐng)寫出表示year年是閏年的Java表達(dá)式。閏年的條件是:每4年一個(gè)閏年,但每100年少一個(gè)閏年,每400年又增加一個(gè)閏年。22.請(qǐng)寫出在類的方法的定義之前,加上修飾字 public、private的區(qū)別。23.請(qǐng)寫出將文本區(qū) text放置于滾動(dòng)面板 jsp,并將滾動(dòng)面板 jsp添加到JFrame窗口myFrame的Java語句。24.要用Graphics2D類的方法畫一個(gè)圖形,首先要把參數(shù)對(duì)象 g強(qiáng)制轉(zhuǎn)換成 Graphics2D對(duì)象;然后,用圖形類提供的靜態(tài)方法Double()創(chuàng)建一個(gè)圖形對(duì)象;最后,以圖形對(duì)象為參數(shù)調(diào)用Graphics2D對(duì)象的draw()方法繪制這個(gè)圖形。請(qǐng)寫出用這樣的方法繪制一條線段的程序段,線段的兩個(gè)端點(diǎn)分別是(10.0,10.0)和(30.0,30.0)。 25.請(qǐng)寫出字符流數(shù)據(jù)與字節(jié)流數(shù)據(jù)的區(qū)別。26.請(qǐng)寫出URLConnection類在編寫Java網(wǎng)絡(luò)應(yīng)用程序中的作用。四、程序填空題(本大題共5小題,每小題 4分,共20分)27.方法

intsigmaDigit(intn)

的功能是求出十進(jìn)制整數(shù)

n的各位數(shù)字之和。例如,n=1234,該方法的返回值是

10。

staticintsigmaDigit(intn){ intsum=0,d; while(n>0){ d=n%10; _________;n/=10; } _________;}28.以下小應(yīng)用程序能響應(yīng)鼠標(biāo)按動(dòng)的事件,當(dāng)鼠標(biāo)在正文區(qū)的某個(gè)位置被點(diǎn)擊時(shí),就在該位置顯示一個(gè)記號(hào)“×”,程序限制最多保留最新20個(gè)位置。importjava.applet.*;importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;classMyPanelextendsJPanel{publicvoidprint(Graphicsg,intx,inty)(g.setColor(Color.red);g.drawLine(x-5,y-5,x+5,y+5);g.drawLine(x+5,y-5,x-5,y+5);}}classMyWindowextendsJFrameimplementsMouseListener{finalintMaxMarks=20;intcurrentMarks=0,markCount=0;Pointmarks[]=newPoint[MaxMarks];MyPanelpanel;MyWindow(){this.setLocation(100,100); this.setSize(300,300);panel=newMyPanel(); con.add(panel);_________(this);this.setVisible(true); }publicvoidpaint(Graphicsg){ inti;g.clearRect(0,0,this.getWidth(),this.getHeight());for(i=0;i<markCount;i++){_________(g,marks[i].x,marks[i].y);}}publicvoidmousePressed(MouseEvente){ }publicvoidmouseReleased(MouseEvente){}publicvoidmouseEntered(MouseEvente){ }publicvoidmouseExited(MouseEvente){}publicvoidmouseClicked(MouseEvente){

Containercon=this.getContentPane();marks[currentMarks]=newPoint(e.getX(),e.getY());if(markCount<MaxMarks)markCount++;currentMarks=(currentMarks+1)%MaxMarks;repaint();}}publicclassClass1extendsApplet{publicvoidinit(){

MyWindowmyWndow=newMyWindow();}

}29.這是一個(gè)處理選擇項(xiàng)目事件的子窗口類。窗口中有

2個(gè)選擇框,當(dāng)選中某個(gè)選擇框時(shí),文本框?qū)@示選擇框?qū)?yīng)的信息。classMyWindowextendsJFrameimplementsItemListener{JTextFieldtext; JCheckBoxboxl,box2;MyWindow(Strings){ _________;Containercon=this.getContentPane();this.setLocation(100,100); this.setSize(400,200); text=newJTextField(10);box1=newJCheckBox("A計(jì)算機(jī)",false);box2=newJCheckBox("B計(jì)算機(jī)",false);con.setLayout(newGridLayout(3,2));con.add(newJLabel("計(jì)算機(jī)產(chǎn)品介紹",JLabel.CENTER));add(newJLabel("計(jì)算機(jī)2選1",JLabel.CENTER));con.add(box1); con.add(box2); con.add(text);box1.addItemListener(this);box2.addItemListener(this);this.setVisible(true);this.pack(); }publicvoiditemStateChanged(_________e){if(e.getItemSelectable()==box1){text.setText("A 公司生產(chǎn)");}elseif(e.getItemSelectable()==box2){text.setText("B 公司生產(chǎn)");}}}30.這是一個(gè)播放幻燈片的小應(yīng)用程序中的 paint()方法。設(shè)幻燈片已由小應(yīng)用程序的 init()方法裝入內(nèi)存,并存放于 myImage數(shù)組中,幻燈片的張數(shù)放于變量 num中,paint()方法要播放的幻燈片號(hào)是currentImage。 intcurrentImage=0; finalintnum=30;Image[]myImage=new_________[num];publicvoidpaint(Graphicsg){ if((mylmage[currentImage])!=null)g._________(myImage[currentImage],10,10,myImage[currentImage].getWidth(this), myImage[currentImage].getHeight(this),this); }31.以下定義的類 ShareData用于管理多個(gè)線程共享數(shù)據(jù) val。為了保證對(duì)共享數(shù)據(jù) val修改的完整性,線程對(duì)val的操作需要互斥,類 ShareData中定義的方法 modiData()就是供共享 val的線程修改 val的方法。程序共有 20個(gè)線程共享 val,有些減少 val,有些增加 val。publicclassClass1{ publicstaticvoidmain(Stringargs[]){ShareDatamrc=newShareData(50); Thread[]aThreadArray=newThread[20];System.out.println("\t剛開始的值是:"+mrc.getVal());System.out.println("\t多個(gè)線程正在工作 ,請(qǐng)稍等!"); for(inti=0;i<20;i++){intd=i%2==0?50:-30;aThreadArray[i]=newThread(newMyMultiThreadClass(mrc,d)); aThreadArray[i].start();}WhileLoop://

等待所有線程結(jié)束while(true){ for(inti=0;i<20;i++) if(aThreadArray[i]. _________ ())continueWhileLoop;break; }System.out.println("\t最后的結(jié)果是:"+mrc.getVal()); }}classMyMultiThreadClassimplementsRunnable{ ShareDataUseInteger; intdelta;MyMultiThreadClass(ShareDatamrc,intd){ UseInteger=mrc; delta=d;}publicvoidrun(){ for(inti=0;i<1000;i++){UseInteger.modiData(delta);try{Thread.sleep(10);//做一些其他的處理 }catch(InterruptedExceptione){}}}}classShareData{intval;ShareData(intinitValue){val=initValue;}intgetVal(){returnval;} privatevoidputVal(intv){val=v;}_________voidmodiData(intd){putVal(getVal()+d);}}五、程序分析題(本大題共5小題,每小題 4分,共20分)32.閱讀下列程序,請(qǐng)寫出該程序的輸出結(jié)果。classA{intx,y; A(inta,intb){x=a; y=b;} }publicclasssample{publicstaticvoidmain(Stringargs[]){Apl,p2; p2=newA(12,15); p1=p2; p2.x++; System.out.println("p1.x="+p1.x)

;

}}33.閱讀下列程序,請(qǐng)寫出調(diào)用 pascal(4)的輸出結(jié)果。staticvoidpascal(intn){ intpas[]; pas=newint[n]; pas[0]=1;for(inti=2;i<=n;i++){/* 由存儲(chǔ)在pas中的原來內(nèi)容生成新內(nèi)容pas[i-l]=1;for(intj=i-2;j>0;j--) pas[j]=pas[j]+pas[j-1];for(intj=0;j<i;j++) System.out.print(pas[j]+" ");System.out.println();}}

*/

System.out.println(pas[0]);34.閱讀下列程序,請(qǐng)用示意圖畫出程序運(yùn)行時(shí)呈現(xiàn)的界面。importjava.applet.*;importjava.awt*;importjavax.swing.*;classMyPanelextendsJPanel{JButtonbutton; JLabellabel;MyPanel(Strings1,Strings2){ this.setLayout(newGridLayout(2,2));button=newJButton(s1); label=newJLabel(s2,JLabel.CENTER);add(button); add(label); add(newJLabel());} }publicclassClass1{ publicstaticvoidmain(Stringargs[]){JFramemw=newJFrame("一個(gè)示意窗口");mw.setSize(400,250); Containercon=mw.getContentPane();con.setLayout(newBorderLayout()); MyPanelpanel1,panel2;panel1=newMyPanel("按鈕1","標(biāo)簽1");panel2=newMyPanel("按鈕2","標(biāo)簽2");JButtonbutton=newJButton("開始按鈕");con.add(panel1,"North");con.add(panel2,"South");con.add(button,"Center"); mw.setVisible(true); }}35.閱讀下列程序,請(qǐng)回答以下問題: (1)程序要求在文本框 text中輸入的內(nèi)容是什么 ?(2)輔助文本區(qū) showArea組件的作用是什么 ? (3)如何使程序開始下載網(wǎng)絡(luò)文本文件 ?(4)程序采用什么輸入方式下載網(wǎng)絡(luò)文件 ?import .*; import java.awt.*;import java.awt.event.*; import,java.io.*javax.swing.*;publicclassClass1{publicstaticvoidmain(Stringargs[]){newConnectNet("讀取網(wǎng)絡(luò)文本文件示意程序 ");} }classConnectNetextendsJFrameimplementsActionListener{JTextFieldtext=newJTextField(30); JTextAreashowArea=newJTextArea();JButtonb=newJButton("下載");JPanelp=newJPanel();ConnectNet(Strings){ super(s);Container con=this.getContentPane();p.add(text);p.add(b); JScrollPanejsp=newJScrollPane(showArea);

;

importb.addActionListener(this)

;

con.add(p,"North")

;

con.add(jsp,"Center");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

setSize(500,400);setVisible(true);

}publicvoidactionPerformed(ActionEvente){

StringurlName=text.getText()

;try{

URLurl=newURL(urlName)

;//由網(wǎng)址創(chuàng)建

URL

對(duì)象URLConnectiontc=url.openConnection();//獲得URLConnection對(duì)象tc.connect();//設(shè)置網(wǎng)絡(luò)連接InputStreamReaderin=newInputStreamReader(tc.getInputStream());BufferedReaderdis=newBufferedReader(in);StringinLine;while((inLine=dis.readLine())!=null){showArea.append(inLine+"

\n");}dis.close();}catch(MalformedURLExceptione2){e2.printStackTrace()

;}catch(IOExceptione3){e3.printStackTrace()

;}

}}36..閱讀下列程序,請(qǐng)寫出該程序的功能。importjava.app

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論