2003級計算機專業《Java程序設計》B卷_第1頁
2003級計算機專業《Java程序設計》B卷_第2頁
2003級計算機專業《Java程序設計》B卷_第3頁
2003級計算機專業《Java程序設計》B卷_第4頁
2003級計算機專業《Java程序設計》B卷_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2003級計算機專業Java程序設計B卷(注意:考試時間100分鐘,將答案寫在答題紙上) 班級:_ 學號:_ 姓名:_一、判斷正誤,如果錯誤請說明理由(4×416分)1、 Java只有通過實現Runnable接口的方式實現多線程操作。2、 Java中引入LayoutManager純粹是為了程序界面美觀。3、 Java中的線程是按照協作式多任務方式工作的,且線程可以共享數據和代碼。4、 swing組件一般使用自己的事件處理模型。二、問答題(4×624分)1、簡述Java通過JDBC進行數據庫操作的步驟。2、簡述Java中的error和exception的區別。3、簡述Java

2、的application和applet的區別。4、怎樣用數據輸入流和輸出流讀寫數據?三、改錯題(2×612分)1、class AmIWrongint data1,data2;AmIWrong() data1= -1; AmIWrong(int d) super(); /調用構造方法data2=d; 2、public static void main(String args ) try char ch=(char)System.in.read(); . . ./其他語句 catch(Exception ee) System.out.println(ee.toString(); catc

3、h(IOException e) System.out.println(e.toString(); 四、程序填空題(2×8=16分)1、下面程序實現矩陣A和矩陣B相乘,結果存放在矩陣C中。 public class MatrixMultiply public static void main(String args) int m,n,k; int a=new int 23; int b=1,5,2,8,5,9,10,-3,2,7,-5,-18; int c=new int24; for (m=0;m<2;m+) for (n=0; n<3 ;n+) (1) / 初始化A的

4、值,要求每個數組/ 元素的值等于其下標值的乘積;for (m=0;m<2;m+) for (n=0;n<4;n+) cmn=0; for(k=0;k<3;k+) (2) / 矩陣乘法運算 2、使用文件字節流對象讀取文件并在屏幕上顯示出來import java.io.*;public class OpenFile public static void main(String args) (3) /拋出輸入輸出異常 try /創建文件字節輸入流對象rf,文件名為File.txt (4) ; int n=512; byte buffer = new byten; while (rf

5、.read(buffer,0,n)!=-1) && (n>0) /讀取輸入流 System.out.print(new String(buffer); System.out.println(); (5) ; /關閉輸入流 catch (IOException ioe) System.out.println(ioe); catch (Exception e) System.out.println(e); 3、繼承Thread類創建兩個線程分別奇數和偶數public class Thread1 extends Thread int k=0; public Thread1(St

6、ring name,int k) super(name); this.k = k; public void run() /覆蓋run方法的線程體 int i = k; System.out.println(); System.out.print(getName()+": "); (6) / 實現同步 while (i<50) System.out.print(i+" "); i+=2; System.out.println(getName() +" end!"); public static void main (String

7、args) Thread1 t1 = new Thread1("Thread1",1); /創建線程對象t1,線程名為"Thread1",輸出奇數 (7) ; /創建線程對象t2,線程名為"Thread2",輸出偶數 t2.start(); /啟動執行線程 (8) ; /啟動執行線程"Thread1" System.out.println("activeCount="+t2.activeCount(); 五、程序分析題(5×315分)1、下面的Java程序是否可以正常編譯運行?為什么?

8、class First private int a = 1; int b = 2; class Second extends First public void method() System.out.println(a + b); 2、如果用參數a4、b2調用下面方法,執行結果是多少?給出得到該結果的理由。 public void divide(int a, int b) try int c = a / b;System.out.print("結果是"+c);catch (Exception e) System.out.print("除操作異常 ");

9、 finally System.out.println("結束操作"); 3、下列程序能否正常運行,為什么?class Ellipsepublic void draw()System.out.println("Ellipse");class Circle extends Ellipsepublic void draw()System.out.println("Circle");public class OOTest2 public static void main(String args) Circle c = new Ellipse

10、 (); c.draw(); 六、編程題(8917分)1、編程統計1001000間素數的個數。2、編寫一個由GeometicObject擴展的Triangle類,其定義如下: Public class Triangle extends GeometicObject Private double side1, side2, side3; Public Triangle(double side1, double side2, double side3) /實現該構造方法 Public double findArea( ) /實現求三角形面積的方法 Public double findPerimet

11、e( ) /實現求三角形周長的方法 2003級計算機專業Java程序設計B卷答案出題人:滿君豐 考核性質:閉卷考試一、判斷正誤,如果錯誤請說明理由(4×416分)1、答:錯誤。Java有兩種方式實現多線程操作:實現Runnable接口和繼承Thead類。2、答:錯誤。java為了實現跨平臺的特性并且獲得動態的布局效果而引入了LayoutManager,java將容器內的所有組件安排給Layoutmanager負責管理,如:排列順序,組件的大小、位置,當窗口移動或調整大小后組件如何變化等功能授權給對應的容器布局管理器來管理。3、答:錯誤。為盡量避免死鎖等內存管理問題的發生,Java中的

12、線程是按照搶占式多任務方式工作的,且線程可以共享數據和代碼。4、錯誤。Swing有自己一套功能強大、界面友好的組件,但它依然沿用AWT事件處理模型。二、問答題(4×624分)1、答:(1)打開一個數據庫連接;(2)創建一個Statement對象;(3)執行一個查詢并且返回一個結果集;(4)處理結果集;(5)關閉結果集和Statement對象;(6)關閉連接。2、答:錯誤。error 表示系統產生了很難恢復難的嚴重問題,比如說內存溢出等,不可能指望程序能處理這樣的情況。exception 表示一種設計或實現問題,也就是說,它表示如果程序運行正常,從不會發生的情況,即便是發生except

13、ion情況,系統也可以做出相應處理。3、錯誤。(1)Applet不是完整獨立運行程序,需要嵌在瀏覽器中作為瀏覽器軟件的一部分;(2)Applet程序中不需要有main方法,但是Applet程序的主類必須是類庫中已定義好的類Applet或JApplet的子類。(3) Java Application程序則必須另外書寫專用代碼來營建自己的圖形界面。4、答:數據流DataInputStream和DataOutputStream用機器獨立形式分別讀和寫Java的原始數據類型,允許使用者在一機器上寫數據文件,以及從其他裝有不同操作系統或文件結構的機器上讀取文件。他們常用于輸入和輸出數據。三、改錯題(2&

14、#215;612分)1、答:super() 改為使用this()2、答:兩個catch語句交換位置catch(IOException e) System.out.println(e.toString(); catch(Exception ee) System.out.println(ee.toString(); 四、程序填空題(2×8=16分)1、 (1) amn=m*n;(2) cmn+=amk*bkn;2、 (3) throws IOException (4) FileInputStream rf = new FileInputStream("File.txt"

15、;); (5) rf.close(); 3、 (6) Synchronized(this) (7) Thread1 t2 = new Thread1("Thread2",2) (8) t1.start();五、程序分析題(5×315分)1、不能運行,因為First類中變量a 是private類型,所以在其他類中不能訪問a。2、結果是2 結束操作。 因為計算4/2,先運行try中的語句,然后再運行finally中的語句3、編譯錯誤,因為子類型的引用不能指向父類型的對象。六、編程題(8917分)1、 public class TotalPrime int i,j,k,primeCount=0; boolean isSuShu; for(i=100;i<=1000;i+) isSuShu=true; k=i/2; for(j=2;j<=k;j+) if(i%j=0) isSuShu=false; break; if(isS

溫馨提示

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

評論

0/150

提交評論