武漢工程大學2019-2020學年第一學期2018級軟件工程專業(yè)《Java語言程序設計》期末考試_第1頁
武漢工程大學2019-2020學年第一學期2018級軟件工程專業(yè)《Java語言程序設計》期末考試_第2頁
武漢工程大學2019-2020學年第一學期2018級軟件工程專業(yè)《Java語言程序設計》期末考試_第3頁
武漢工程大學2019-2020學年第一學期2018級軟件工程專業(yè)《Java語言程序設計》期末考試_第4頁
武漢工程大學2019-2020學年第一學期2018級軟件工程專業(yè)《Java語言程序設計》期末考試_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

武漢工程大學2019-2020學年第一學期2018級軟件工程專業(yè)《Java語言程序設計》期末考試試題姓名:_________年級:_______級專業(yè):_________學號:___________一、單項選擇題(本大題共10小題,每小題1分,共10分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。1.在編寫Javaapplet程序時,若需要對發(fā)生事件作出響應和處理,一般需要在程序的開頭寫上的語句是()(1分)A:importjava.awt.*;B:importjava.applet.*;C:importjava.io.*;D:importjava.awt.event.*;2.Java語言約定,顯示屏上一個長方形區(qū)域為程序繪圖區(qū)域,坐標原點(0,0)位于整個區(qū)域的()(1分)A:中心B:左上角C:右上角D:自由設定3.在Java程序中定義一個類,類中有一個沒有訪問權(quán)限修飾的方法,則此方法()(1分)A:訪問權(quán)限默認為是publicB:訪問權(quán)限默認為是privateC:訪問權(quán)限默認為是protectedD:以上都不是4.在Java中,能實現(xiàn)多重繼承效果的方式是()(1分)A:內(nèi)部類B:適配器C:接口D:同步5.在Java語言中,密碼框組件和設置密碼框的回顯字符為“*”的方法分別是()(1分)A:JPassWordField和setEchoChar(?*?)B:JPasswordField和setEchoChar(?*?)C:JPassWordField和setEchochar(?*?)D:JPasswordField和setEchochar(?*?)6.使用數(shù)據(jù)庫的SQL命令實現(xiàn)數(shù)據(jù)庫的更新,應利用Statement對象的方法()(1分)A:update()B:insert()C:executeUpdate()D:delete()7.以下程序代碼的輸出結(jié)果是()shorti=10,j,k=20;j=k+i++;System.out.print(j);(1分)A:30B:31C:出錯D:118.在Java語言中,移去按鈕對象監(jiān)視器的方法是()(1分)A:removeListener(ActionListenere)B:setRemoveEnable(ActionListenere)C:removeActionListener(ActionListenere)D:addActionListener(ActionListenere)9.下列有關(guān)事件監(jiān)視器的說法正確的是()(1分)A:一個組件上不可以注冊多個事件監(jiān)視器B:一個事件監(jiān)視器可以被注冊到多個組件上C:一個組件上注冊多個事件監(jiān)視器會發(fā)生沖突,不會起作用D:一個組件上注冊多個事件監(jiān)視器,只有最后一個事件監(jiān)視器會起作用10.菜單的事件源是用鼠標點擊某個菜單項,ActionListener,要實現(xiàn)的接口方法是actionPerformed(ActionEvente),獲得事件源的方法是getSource(),處理該事件的接口是()(1分)A:ActionListenerB:actionPerformedC:getSourceD:ItemListener二、填空題(本大題共10小題,每小題2分,共20分)請在每小題的空格中填上正確答案。錯填、不填均無分。1.當把Java的繪圖模式設置為異或模式紅色,并對同一個圓用同一個顏色綠色繪制兩遍時,則此圓的繪制情況是:。(2分)2.流使用結(jié)束后,關(guān)閉流并且釋放與該流相關(guān)的資源,用方法。(2分)3.是一種特殊的方法,這種方法的名字與它的類名相同,并且不返回結(jié)果,也不寫上void關(guān)鍵字。(2分)4.Java語言提供一個Graphics2D類,這個類定義了幾種方法用于添加或改變圖形的狀態(tài)屬性,其中屬性控制線條的寬度、筆形樣式、線段連接方式或短劃線圖案。(2分)5.在已有類的基礎(chǔ)上,擴充屬性或擴充與改寫某些方法,生成新的類,這個方式稱為。(2分)6.在Java語言,使用關(guān)鍵字定義臨界段,能對共享對象的操作上鎖。(2分)7.在Java程序中,如果有package語句,則此語句必須出現(xiàn)在源程序文件的。(2分)8.采用布局的容器中多個組件擁有同一個顯示空間,某一時刻只能顯示一個組件。(2分)9.在Java語言中,邏輯右移運算符是。(2分)10.在Java語言中,有了SQL語句對象sql后,根據(jù)“讀取學生成績表st中的所有記錄并存于rs對象中”,定義rs對象的代碼是。(2分)三、程序填空題(本大題共5小題,每空2分,共20分)1.以下程序使字符串“文字的特殊輸出效果演示”中的所有文字每隔300毫秒顯示一個。publicclassClass3101{publicstaticvoidmain(String[]args){Strings="文字的特殊輸出效果演示";for(inti=0;i{System.out.print(s.substring(i,i+1));try{;}catch(){}}}}(2分)2.下面小應用程序通過快速顯示一組圖片(1.jpg~9.jpg)造成顯示動畫的效果。importjava.awt.*;importjava.applet.*;publicclassClass3002extendsAppletimplementsRunnable{finalintnumber=9;intcount=1;Image[]pic=newImage[number];ThreadmyThread;publicvoidinit(){setSize(300,200);for(inti=1;i<=number;i++)pic[i-1]=;}publicvoidstart(){myThread=newThread(this);myThread.start();}publicvoidstop(){myThread=null;}publicvoidrun(){while(true){repaint();count=(count+1)%number;try{myThread.sleep(1000);}catch(InterruptedExceptione){}}}publicvoidpaint(Graphicsg){if(pic[count]!=null)g.(pic[count],10,10,200,200,this);}}(2分)3.下面的程序在屏幕上顯示一個紅色窗口,窗口的左上角坐標為(100,200),寬為300像素,高為400像素。importjava.awt.*;importjavax.swing.*;publicclassClass2803{publicstaticvoidmain(String[]args){JFramemyWin=newJFrame("Class2803");myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//關(guān)閉窗口時,整個應用程序關(guān)閉。若省略,關(guān)閉窗口時程序不終止,相當于setVisible(false)myWin.;Containercon=myWin.getContentPane();con.setBackground(Color.red);myWin.;}}(2分)4.程序運行結(jié)果如下圖:上邊,左邊和右邊是三個按鈕,下邊是一個內(nèi)容為“Class2804”的文本框txt。importjava.awt.*;importjavax.swing.*;publicclassClass2804{publicstaticvoidmain(String[]args){JFramemyWin=newJFrame("Class2804");myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);myWin.setBounds(100,200,300,200);Containercon=myWin.getContentPane();con.setBackground(Color.red);con.setLayout(newBorderLayout());JButtonbutton1=newJButton("左邊");JButtonbutton2=newJButton("右邊");JButtonbutton3=newJButton("上邊");con.add(button1,"West");con.add(button2,"East");con.add(button3,"North");myWin.setVisible(true);}}(2分)5.下面程序運行后顯示一個窗口,在窗口中有一個按鈕和一個標簽,單擊按鈕,標簽中顯示按鈕被單擊的次數(shù),請完成程序。importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;classmyFrameextendsJFrameimplementsActionListener{JButtonbutton;JLabellabel;myFrame(Strings){super(s);Containercon=;setLayout(newFlowLayout());setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(300,400);button=newJButton("OK");label=newJLabel("0");con.add(button);con.add(label);button.addActionListener(this);setVisible(true);}publicvoidactionPerformed(ActionEvente){intn=;n++;label.setText(""+n);}}publicclassC2801{publicstaticvoidmain(String[]args){newmyFrame("我的窗口");}}(2分)四、程序分析題(本大題共5小題,每小題4分,共20分)1.閱讀下列程序,畫出程序運行后初始界面并寫出程序功能。importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassClass3603extendsAppletimplementsActionListener{AudioClipclip;ButtonbuttonPlay,buttonLoop,buttonStop;publicvoidinit(){clip=getAudioClip(getCodeBase(),"windowsXP關(guān)機.wav");buttonPlay=newButton("start");buttonLoop=newButton("loop");buttonStop=newButton("stop");buttonPlay.addActionListener(this);buttonStop.addActionListener(this);buttonLoop.addActionListener(this);setSize(300,100);add(buttonPlay);add(buttonLoop);add(buttonStop);}publicvoidstop(){clip.stop();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==buttonPlay){clip.play();}elseif(e.getSource()==buttonLoop){clip.loop();}if(e.getSource()==buttonStop){clip.stop();}}}(4分)2.閱讀下列程序,寫出程序功能。importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassC3601extendsAppletimplementsActionListener{AudioClipclip;ButtonbuttonPlay,buttonLoop,buttonStop;publicvoidinit(){clip=getAudioClip(getCodeBase(),"1.wav");buttonPlay=newButton("start");buttonLoop=newButton("loop");buttonStop=newButton("stop");buttonPlay.addActionListener(this);buttonStop.addActionListener(this);buttonLoop.addActionListener(this);setSize(300,100);add(buttonPlay);add(buttonLoop);add(buttonStop);}publicvoidstop(){clip.stop();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==buttonPlay){clip.play();}elseif(e.getSource()==buttonLoop){clip.loop();}if(e.getSource()==buttonStop){clip.stop();}}}(4分)3.閱讀下列程序,寫出程序運行結(jié)果。publicclassC3302{publicstaticvoidmain(String[]args){int[][]a={{1,2,3},{4,5,6}};System.out.println(a.length+","+a[0].length+","+a[1][1]);String[]s={"a","b"};f3302(s[0],s[1]);System.out.println(s[0]+","+s[1]);Strings1="abc",s2="123";s1+="xyz";s2.concat("xyz");System.out.println(s1+","+s2);}staticvoidf3302(Stringx,Stringy){Stringz=x;x=y;y=z;}}(4分)4.閱讀下列程序,寫出程序運行結(jié)果。importjava.awt.event.*;importjavax.swing.*;publicclassC3502implementsMouseMotionListener{JTextFieldtext=newJTextField(30);C3502(){JFramemyWin=newJFrame("Ex0611");myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);myWin.setBounds(100,100,300,100);myWin.getContentPane().add(text,"North");myWin.addMouseMotionListener(this);myWin.setVisible(true);}publicvoidmouseDragged(MouseEvente){intx=e.getX(),y=e.getY();text.setText("拖動鼠標,鼠標坐標為:"+x+","+y);}publicvoidmouseMoved(MouseEvente){intx=e.getX(),y=e.getY();text.setText("移動鼠標,鼠標坐標為:"+x+","+y);}publicstaticvoidmain(String[]args){newC3502();}}(4分)5.閱讀下列程序,寫出程序功能。importjava.applet.*;importjava.awt.*;publicclassC3602extendsAppletimplementsRunnable{ThreadmyThread=null;publicvoidstart(){setSize(300,200);if(myThread==null)myThread=newThread(this);myThread.start();}publicvoidrun(){while(true){try{myThread.sleep(500);}catch(InterruptedExceptione){}repaint();}}publicvoidpaint(Graphicsg){doublei=Math.random();if(i<0.33)g.setColor(Color.yellow);elseif(i<0.66)g.setColor(Color.red);elseg.setColor(Color.blue);intx=(int)(100*i);g.fillOval(x,x,x,x);}}(4分)五、程序設計題(本大題共2小題,每小題6分,共12分)1.設計一個應用程序窗口如下圖所示,單擊“加”或“減”按鈕,將前兩個文本框中的整數(shù)相加或相減后放入第三個文本框中。已給出部分代碼,請完成程序。importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclassClass3801implementsActionListener{JTextFieldtext1,text2,text3;JButtonaddButton,subButton;publicstaticvoidmain(String[]args){newClass3801();}publicClass3801(){text1=newJTextField(10);text2=newJTextField(10);text3=newJTextField(10);addButton=newJButton("加");subButton=newJButton("減");JFramemyWin=newJFrame("Class3801");Containercon=myWin.getContentPane();myWin.setSize(300,80);con.setLayout(newGridLayout(1,5));con.add(text1);con.add(text2);con.add(addButton);con.add(subButton);con.add(text3);addButton.addActionListener(this);subButton.addActionListener(this);myWin.setVisible(true);}publicvoidactionPerformed(ActionEvente){//這里是你要編寫的代碼}}(6分)2.創(chuàng)建一個有文本框和三個按鈕的程序。當按下某個按鈕時,使不同的文字("Java","編程","不難學")顯示在文本框中。已經(jīng)給出部分代碼,請完成事件處理部分。importjavax.swing.*;importjava.awt.event.*;classMiYa1extendsJPanel{JButtonbutton[]=newJButton[3];JTextFieldtext;MiYa1(){for(inti=0;i<3;i++){button[i]=newJButton("button0"+(i+1));add(button[i]);}text=newJTextField(10);text.setHorizontalAlignment(JTextField.CENTER);add(text);}}publicclassC3801implementsActionListener{JFramemyWin;MiYa1panel;C3801(){panel=newMiYa1();myWin=newJFrame("C3801");myWin.add(panel);myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);for(inti=0;i<3;i++)panel.button[i].addActionListener(this);myWin.pack();myWin.setVisible(true);}publicstaticvoidmain(String[]args){newC3801();}publicvoidactionPerformed(ActionEvente){//這里是你要編寫的代碼}}(6分)六、簡答題(本大題共6小題,每小題3分,共18分)1.請解釋drawArc(intx,inty,intw,inth,ints,inta)方法的功能及參數(shù)含義。(3分)2.CardLayout布局的容器可容納多個組件,但是多個組件擁有一個顯示空間。如何設置CardLayout布局及顯示某一組件?(3分)3.請寫出RandomAccessFile類中read(byteb[],ints,intn)方法的功能及參數(shù)含義。(3分)4.要求創(chuàng)建一個URL對象url,使得url能夠訪問資源,請寫出一條語句。(3分)5.下列類的定義中有哪些錯誤?寫出錯誤原因或者進行改正。classC2202{intx;C2202(intx){this.x=x;}C2202(){C2202(10);}intf(){inta=1;x=a;}voidg(){inty;y=a+x;}}(3分)6.編寫訪問數(shù)據(jù)庫的Java程序需要幾個重要的類和接口,請任意寫出其中的三個。(3分)武漢工程大學2019-2020學年第一學期2018級軟件工程專業(yè)《Java語言程序設計》期末考試答案一、單項選擇題(本大題共10小題,每小題1分,共10分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。1:參考答案:D參考解析:(P87)java.awt是抽象窗口工具包,包含抽象窗口工具集中的圖形、文本、窗口GUI類;java.applet包含所有支持Javaapplet的類;java.io包含所有的輸入輸出類;java.awe.event包含用來檢測并對事件做出反應的三個組成元素:源對象、監(jiān)視器對象和事件對象。試題內(nèi)容:在編寫Javaapplet程序時,若需要對發(fā)生事件作出響應和處理,一般需要在程序的開頭寫上的語句是()A:importjava.awt.*;B:importjava.applet.*;C:importjava.io.*;D:importjava.awt.event.*;2:參考答案:B參考解析:(P137)Java語言約定,顯示屏上一個長方形區(qū)域為程序繪圖區(qū)域,坐標原點(0,0)位于整個區(qū)域的左上角,一個坐標點(x,y)對應屏幕窗口中的一個像素,必須是整數(shù)。試題內(nèi)容:Java語言約定,顯示屏上一個長方形區(qū)域為程序繪圖區(qū)域,坐標原點(0,0)位于整個區(qū)域的()A:中心B:左上角C:右上角D:自由設定3:參考答案:D參考解析:(P48)沒有修飾的成員變量和方法稱為友好變量和友好方法。不同于public、private和protected修飾的成員變量和方法。試題內(nèi)容:在Java程序中定義一個類,類中有一個沒有訪問權(quán)限修飾的方法,則此方法()A:訪問權(quán)限默認為是publicB:訪問權(quán)限默認為是privateC:訪問權(quán)限默認為是protectedD:以上都不是4:參考答案:C參考解析:(P58)Java程序中的類只能繼承一個類,這種繼承稱為單繼承。Java語言雖不允許一個類繼承多個類,但允許一個類實現(xiàn)多個接口。這樣,對有繼承并實現(xiàn)接口的類來說,實際上有了多個超類,實現(xiàn)有控制的多重繼承。接口比多繼承更強、更容易控制。接口有與類相似的基本形式。接口有常量定和方法,但沒有方法的實現(xiàn)代碼,即沒有方法的方法體。試題內(nèi)容:在Java中,能實現(xiàn)多重繼承效果的方式是()A:內(nèi)部類B:適配器C:接口D:同步5:參考答案:B參考解析:(P103)類名首字母和每個單詞首字母均大寫,方法名首字母小寫,其余單詞首字母大寫。試題內(nèi)容:在Java語言中,密碼框組件和設置密碼框的回顯字符為“*”的方法分別是()A:JPassWordField和setEchoChar(?*?)B:JPasswordField和setEchoChar(?*?)C:JPassWordField和setEchochar(?*?)D:JPasswordField和setEchochar(?*?)6:參考答案:C參考解析:(P206)試題內(nèi)容:使用數(shù)據(jù)庫的SQL命令實現(xiàn)數(shù)據(jù)庫的更新,應利用Statement對象的方法()A:update()B:insert()C:executeUpdate()D:delete()7:參考答案:C參考解析:(P10)對于使用類型為byte或者short變量的算術(shù)表達式,其計算方式與使用int型變量相同都是進行32位算術(shù)運算,結(jié)果也是32位整數(shù)。本題編譯器無法把32位整數(shù)存儲到只有16位長的變量中。試題內(nèi)容:以下程序代碼的輸出結(jié)果是()shorti=10,j,k=20;j=k+i++;System.out.print(j);A:30B:31C:出錯D:118:參考答案:C參考解析:(P92)試題內(nèi)容:在Java語言中,移去按鈕對象監(jiān)視器的方法是()A:removeListener(ActionListenere)B:setRemoveEnable(ActionListenere)C:removeActionListener(ActionListenere)D:addActionListener(ActionListenere)9:參考答案:B參考解析:(P87)本題考核知識點是監(jiān)視器注冊。如果多個事件監(jiān)視器被注冊到一個組件上,這些事件監(jiān)視器一般都會起作用,但各個事件的處理順序不確定。試題內(nèi)容:下列有關(guān)事件監(jiān)視器的說法正確的是()A:一個組件上不可以注冊多個事件監(jiān)視器B:一個事件監(jiān)視器可以被注冊到多個組件上C:一個組件上注冊多個事件監(jiān)視器會發(fā)生沖突,不會起作用D:一個組件上注冊多個事件監(jiān)視器,只有最后一個事件監(jiān)視器會起作用10:參考答案:A參考解析:(P119)處理該事件的接口是ActionListener,要實現(xiàn)的接口方法是actionPerformed(ActionEvente),獲得事件源的方法是getSource()。試題內(nèi)容:菜單的事件源是用鼠標點擊某個菜單項,ActionListener,要實現(xiàn)的接口方法是actionPerformed(ActionEvente),獲得事件源的方法是getSource(),處理該事件的接口是()A:ActionListenerB:actionPerformedC:getSourceD:ItemListener二、填空題(本大題共10小題,每小題2分,共20分)請在每小題的空格中填上正確答案。錯填、不填均無分。1:參考答案:(P140)將被清除試題內(nèi)容:當把Java的繪圖模式設置為異或模式紅色,并對同一個圓用同一個顏色綠色繪制兩遍時,則此圓的繪制情況是:_____。2:參考答案:(P177)close()試題內(nèi)容:流使用結(jié)束后,關(guān)閉流并且釋放與該流相關(guān)的資源,用_____方法。3:參考答案:(P43)構(gòu)造方法試題內(nèi)容:_____是一種特殊的方法,這種方法的名字與它的類名相同,并且不返回結(jié)果,也不寫上void關(guān)鍵字。4:參考答案:(P145)stroke試題內(nèi)容:Java語言提供一個Graphics2D類,這個類定義了幾種方法用于添加或改變圖形的狀態(tài)屬性,其中_____屬性控制線條的寬度、筆形樣式、線段連接方式或短劃線圖案。5:參考答案:(P40)繼承試題內(nèi)容:在已有類的基礎(chǔ)上,擴充屬性或擴充與改寫某些方法,生成新的類,這個方式稱為_____。6:參考答案:(P167)synchronized試題內(nèi)容:在Java語言,使用關(guān)鍵字定_____義臨界段,能對共享對象的操作上鎖。7:參考答案:(P31)起始行或第一行試題內(nèi)容:在Java程序中,如果有package語句,則此語句必須出現(xiàn)在源程序文件的_____。8:參考答案:(P100)CardLayout試題內(nèi)容:采用_____布局的容器中多個組件擁有同一個顯示空間,某一時刻只能顯示一個組件。9:參考答案:(P19)>>>[解析]左移運算符是“<<”:將左運算分量的每一位二進制位向左移動,右邊空出的`位用0填充,左端移出位的信息丟失。每左移一位相當于乘2。右移運算符分算術(shù)右移運算符“>>”和邏輯右移運算符“>>>”。試題內(nèi)容:在Java語言中,邏輯右移運算符是_____。10:參考答案:(P202)ResultSetrs=sql.executeQuery("SELECT*FROMst");試題內(nèi)容:在Java語言中,有了SQL語句對象sql后,根據(jù)“讀取學生成績表st中的所有記錄并存于rs對象中”,定義rs對象的代碼是_____。三、程序填空題(本大題共5小題,每空2分,共20分)1:參考答案:Thread.sleep(300)InterruptedExceptione,試題內(nèi)容:以下程序使字符串“文字的特殊輸出效果演示”中的所有文字每隔300毫秒顯示一個。publicclassClass3101{publicstaticvoidmain(String[]args){Strings="文字的特殊輸出效果演示";for(inti=0;i{System.out.print(s.substring(i,i+1));try{_____;}catch(_____){}}}}2:參考答案:getImage(getCodeBase(),i+".jpg")drawImage,試題內(nèi)容:下面小應用程序通過快速顯示一組圖片(1.jpg~9.jpg)造成顯示動畫的效果。importjava.awt.*;importjava.applet.*;publicclassClass3002extendsAppletimplementsRunnable{finalintnumber=9;intcount=1;Image[]pic=newImage[number];ThreadmyThread;publicvoidinit(){setSize(300,200);for(inti=1;i<=number;i++)pic[i-1]=_____;}publicvoidstart(){myThread=newThread(this);myThread.start();}publicvoidstop(){myThread=null;}publicvoidrun(){while(true){repaint();count=(count+1)%number;try{myThread.sleep(1000);}catch(InterruptedExceptione){}}}publicvoidpaint(Graphicsg){if(pic[count]!=null)g._____(pic[count],10,10,200,200,this);}}3:參考答案:setBounds(100,200,300,400)setVisible(true),試題內(nèi)容:下面的程序在屏幕上顯示一個紅色窗口,窗口的左上角坐標為(100,200),寬為300像素,高為400像素。importjava.awt.*;importjavax.swing.*;publicclassClass2803{publicstaticvoidmain(String[]args){JFramemyWin=newJFrame("Class2803");myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//關(guān)閉窗口時,整個應用程序關(guān)閉。若省略,關(guān)閉窗口時程序不終止,相當于setVisible(false)myWin._____;Containercon=myWin.getContentPane();con.setBackground(Color.red);myWin._____;}}4:參考答案:JTextFieldtxt=newJTextField("Class2804");con.add(txt,"South");,試題內(nèi)容:程序運行結(jié)果如下圖:上邊,左邊和右邊是三個按鈕,下邊是一個內(nèi)容為“Class2804”的文本框txt。importjava.awt.*;importjavax.swing.*;publicclassClass2804{publicstaticvoidmain(String[]args){JFramemyWin=newJFrame("Class2804");myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);myWin.setBounds(100,200,300,200);Containercon=myWin.getContentPane();con.setBackground(Color.red);con.setLayout(newBorderLayout());_____JButtonbutton1=newJButton("左邊");JButtonbutton2=newJButton("右邊");JButtonbutton3=newJButton("上邊");con.add(button1,"West");con.add(button2,"East");con.add(button3,"North");_____myWin.setVisible(true);}}5:參考答案:getContentPane()Integer.parseInt(label.getText()),試題內(nèi)容:下面程序運行后顯示一個窗口,在窗口中有一個按鈕和一個標簽,單擊按鈕,標簽中顯示按鈕被單擊的次數(shù),請完成程序。importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;classmyFrameextendsJFrameimplementsActionListener{JButtonbutton;JLabellabel;myFrame(Strings){super(s);Containercon=_____;setLayout(newFlowLayout());setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(300,400);button=newJButton("OK");label=newJLabel("0");con.add(button);con.add(label);button.addActionListener(this);setVisible(true);}publicvoidactionPerformed(ActionEvente){intn=_____;n++;label.setText(""+n);}}publicclassC2801{publicstaticvoidmain(String[]args){newmyFrame("我的窗口");}}四、程序分析題(本大題共5小題,每小題4分,共20分)1:參考答案:程序運行后初始界面如下:程序功能是:單擊start按鈕開始播放“windowsXP關(guān)機.wav”聲音文件一次,單擊loop按鈕將循環(huán)播放“windowsXP關(guān)機.wav”,單擊stop按鈕將停止播放。試題內(nèi)容:閱讀下列程序,畫出程序運行后初始界面并寫出程序功能。importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassClass3603extendsAppletimplementsActionListener{AudioClipclip;ButtonbuttonPlay,buttonLoop,buttonStop;publicvoidinit(){clip=getAudioClip(getCodeBase(),"windowsXP關(guān)機.wav");buttonPlay=newButton("start");buttonLoop=newButton("loop");buttonStop=newButton("stop");buttonPlay.addActionListener(this);buttonStop.addActionListener(this);buttonLoop.addActionListener(this);setSize(300,100);add(buttonPlay);add(buttonLoop);add(buttonStop);}publicvoidstop(){clip.stop();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==buttonPlay){clip.play();}elseif(e.getSource()==buttonLoop){clip.loop();}if(e.getSource()==buttonStop){clip.stop();}}}2:參考答案:程序功能是:小應用程序窗口中有三個按鈕,單擊start按鈕開始播放“1.wav”聲音文件一次,單擊loop按鈕將循環(huán)播放“1.wav”,單擊stop按鈕將停止播放。試題內(nèi)容:閱讀下列程序,寫出程序功能。importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassC3601extendsAppletimplementsActionListener{AudioClipclip;ButtonbuttonPlay,buttonLoop,buttonStop;publicvoidinit(){clip=getAudioClip(getCodeBase(),"1.wav");buttonPlay=newButton("start");buttonLoop=newButton("loop");buttonStop=newButton("stop");buttonPlay.addActionListener(this);buttonStop.addActionListener(this);buttonLoop.addActionListener(this);setSize(300,100);add(buttonPlay);add(buttonLoop);add(buttonStop);}publicvoidstop(){clip.stop();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==buttonPlay){clip.play();}elseif(e.getSource()==buttonLoop){clip.loop();}if(e.getSource()==buttonStop){clip.stop();}}}3:參考答案:運行結(jié)果:2,3,5a,babcxyz,123[解析]對于二維數(shù)組來說,有兩種長度,一種是二維數(shù)組的長度,一種是二維數(shù)組元素的長度,數(shù)組的下標都是從0開始。方法f3302()中的交換只是交換了形參(局部變量)x和y的值,并沒有使實參s[0]和s[1]發(fā)生交換。+和concat()都能完成字符串的連接。s2.concat("xyz")連接得到的新字符串并沒有賦值,它和s2=s2.concat("xyz")是不同的。試題內(nèi)容:閱讀下列程序,寫出程序運行結(jié)果。publicclassC3302{publicstaticvoidmain(String[]args){int[][]a={{1,2,3},{4,5,6}};System.out.println(a.length+","+a[0].length+","+a[1][1]);String[]s={"a","b"};f3302(s[0],s[1]);System.out.println(s[0]+","+s[1]);Strings1="abc",s2="123";s1+="xyz";s2.concat("xyz");System.out.println(s1+","+s2);}staticvoidf3302(Stringx,Stringy){Stringz=x;x=y;y=z;}}4:參考答案:程序功能:這是一個演示鼠標拖動和移動的程序。界面有一個文本框,當鼠標拖動或移動時,在文本區(qū)中輸出鼠標是鼠標拖動還是鼠標移動,及鼠標位置坐標。試題內(nèi)容:閱讀下列程序,寫出程序運行結(jié)果。importjava.awt.event.*;importjavax.swing.*;publicclassC3502implementsMouseMotionListener{JTextFieldtext=newJTextField(30);C3502(){JFramemyWin=newJFrame("Ex0611");myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);myWin.setBounds(100,100,300,100);myWin.getContentPane().add(text,"North");myWin.addMouseMotionListener(this);myWin.setVisible(true);}publicvoidmouseDragged(MouseEvente){intx=e.getX(),y=e.getY();text.setText("拖動鼠標,鼠標坐標為:"+x+","+y);}publicvoidmouseMoved(MouseEvente){intx=e.getX(),y=e.getY();text.setText("移動鼠標,鼠標坐標為:"+x+","+y);}publicstaticvoidmain(String[]args){newC3502();}}5:參考答案:程序功能:小應用程序在300*200大小的窗口里用隨機產(chǎn)生的顏色(黃紅藍)、半徑(0~100)和位置(0~100,0~100)每隔0.5秒重新涂一個圓塊。試題內(nèi)容:閱讀下列程序,寫出程序功能。importjava.applet.*;importjava.awt.*;publicclassC3602extendsAppletimplementsRunnable{ThreadmyThread=null;publicvoidstart(){setSize(300,200);if(myThread==null)myThread=newThread(this);myThread.start();}publicvoidrun(){while(true){try{myThread.sleep(500);}catch(InterruptedExceptione){}repaint();}}publicvoidpaint(Graphicsg){doublei=Math.random();if(i<0.33)g.setColor(Color.yellow);elseif(i<0.66)g.setColor(Color.red);elseg.setColor(Color.blue);intx=(int)(100*i);g.fillOval(x,x,x,x);}}五、程序設計題(本大題共2小題,每小題6分,共12分)1:參考答案:inta=Integer.parseInt(text1.getText());intb=Integer.parseInt(text2.getText());if(e.getSource()==addButton)text3.setText(a+b+"");if(e.getSource()==subButton)text3.setText(a-b+"");試題內(nèi)容:設計一個應用程序窗口如下圖所示,單擊“加”或“減”按鈕,將前兩個文本框中的整數(shù)相加或相減后放入第三個文本框中。已給出部分代碼,請完成程序。importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclassClass3801implementsActionListener{JTextFieldtext1,text2,text3;JButtonaddButton,subButton;publicstaticvoidmain(String[]args){newClass3801();}publicClass3801(){text1=newJTextField(10);text2=newJTextField(10);text3=newJTextField(10);addButton=newJButton("加");subButton=newJButton("減");JFramemyWin=newJFrame("Class3801");Containercon=myWin.getContentPane();myWin.setSize(300,80);con.setLayout(newGridLayout(1,5));con.add(text1);con.add(text2);con.add(addButton);con.add(subButton);con.add(text3);addButton.addActionListener(this);subButton.addActionListener(this);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論