《java程序設(shè)計》作業(yè)答案.doc
《《java程序設(shè)計》作業(yè)答案.doc》由會員分享,可在線閱讀,更多相關(guān)《《java程序設(shè)計》作業(yè)答案.doc(18頁珍藏版)》請在裝配圖網(wǎng)上搜索。
《JAVA程序設(shè)計》作業(yè)答案 一、選擇題 1、 編譯HelloWorld.java的正確命令是: 第 2 頁 共 18 頁 C) javac HelloWorld.java 2、 正確運行HelloWorld.java的正確命令是: A)java HelloWorld 3、 下面程序代碼,使用多行注釋正確的是: C) /* int k=9; int j=8; k = k + j; */ 4、 long型的取值范圍是: D)-263~263-1 5、 下面不屬于Java保留字的是: C)malloc 6、 下面屬于非法的Java標(biāo)識符的是: D) abc-d 7、 對與System.out.println()語句解釋合理的是: C)執(zhí)行后輸出一個空行 8、 閱讀下面的代碼,回答問題, for( m = 0 ; m > -2 ; m -- ){….} For循環(huán)執(zhí)行多少次: C)2 9、 閱讀下面的代碼,回答問題, for( m = 0; m < 5; m++ ) { System.out.print( m + "," ); if( m == 3 ) break; } 執(zhí)行結(jié)果是: C)0,1,2,3, 10、 閱讀下面的代碼,回答問題, public class Ex { int x = 1; void m() { int x = 3; System.out.print( "x= " + x); } public static void main( String[] args ) { Ex ex = new Ex(); ex.m(); } } 執(zhí)行結(jié)果是: B)x=3 11、下面語句在編譯時不會出現(xiàn)錯誤信息的是: a) float f = 1.3; b) char c = "a"; c) byte b = 257; d) boolean b = null; e) int i = 10; 12、編譯和運行下面的代碼,會有什么結(jié)果產(chǎn)生: public class MyClass { public static void main(String arguments[]) { amethod(arguments); } public void amethod(String[] arguments) { System.out.println(arguments); System.out.println(arguments[1]); } } a) 錯誤,靜態(tài)方法不能直接引用非靜態(tài)方法 b) 錯誤,主方法有錯誤 c) 錯誤,數(shù)據(jù)定義有錯誤 d) 方法amethod必須被聲明為String型 13、編譯期間會出錯的是: a) import java.awt.*; package Mypackage; class Myclass {} b) package MyPackage; import java.awt.*; class MyClass{} c) /*This is a comment */ package MyPackage; import java.awt.*; class MyClass{} 14、byte型的變量的表示范圍為: a) -128 to 127 b) (-2 power 8 )-1 to 2 power 8 c) -255 to 256 d) 依賴Java虛擬機而定 15、在命令行運行命令:java myprog good morning 會有什么結(jié)果顯示出來: public class myprog{ public static void main(String argv[]) { System.out.println(argv[2]) } } a) myprog b) good c) morning d) Exception raised: "java.lang.ArrayIndexOutOfBoundsException: 2" 16、下面不是Java保留字的是: a) if b) then c) goto d) while 17、下面屬于非法的標(biāo)識符的是: a) 2variable b) variable2 c) _whatavariable d) _3_ e) $anothervar 18、編譯下面的代碼,會有什么結(jié)果產(chǎn)生: public class MyClass{ static int i; public static void main(String argv[]){ System.out.println(i); } } a) 錯誤,變量i 沒有初始化 b) null c) 1 d) 0 19、編譯運行下面的代碼,會有什么結(jié)果產(chǎn)生: public class Q { public static void main(String argv[]){ int anar[]= new int[]{1,2,3}; System.out.println(anar[1]); } } a) 1 b) 3 c) 2 d) 錯誤,數(shù)組anar的長度沒有定義 20、編譯運行下面的代碼,會有什么結(jié)果產(chǎn)生: public class Q { public static void main(String argv[]){ int anar[]= new int[5]; System.out.println(anar[0]); } } a) 編譯錯誤 b) null c) 0 d) 5 Arrays are always initialised when they are created. As this is an array of ints it will be initalised with zeros. 21、編譯運行下面的代碼,會有什么結(jié)果產(chǎn)生: abstract class MineBase { abstract void amethod(); static int i; } public class Mine extends MineBase { public static void main(String argv[]){ int[] ar = new int[5]; for(i = 0;i < ar.length;i++) System.out.println(ar[i]); } } a) 五個0被輸出 b) 錯誤,ar使用前沒有初始化 c) 錯誤,類Mine 必須要被聲明為抽象的類 d) IndexOutOfBoundes Error i 22、編譯運行下面的代碼,會有什么結(jié)果產(chǎn)生: int i = 1; switch (i) { case 0: System.out.println("zero"); break; case 1: System.out.println("one"); case 2: System.out.println("two"); default: System.out.println("default"); } a) one b) one, default c) one, two, default d) default 23、編譯運行下面的代碼,會有什么結(jié)果產(chǎn)生: int i = 9; switch (i) { default: System.out.println("default"); case 0: System.out.println("zero"); break; case 1: System.out.println("one"); case 2: System.out.println("two"); } a) default b) default, zero c) error default clause not defined d) no output displayed 24、下面不會在編譯時出錯的是: a) int i=0; if(i) { System.out.println("Hello"); } b) boolean b = true; boolean b2 = true; if(b==b2) System.out.println("So true"); c) int i=1; int j = 2; if(i ==1&j==2) System.out.println("OK"); d) int i=1; int j = 2; if(i ==1 &| j==2) System.out.println("OK"); 25、編譯運行下面的代碼,會有什么結(jié)果產(chǎn)生,注意,在當(dāng)前目錄里沒有文件Hello.txt: import java.io.*; public class Mine { public static void main(String argv[]){ Mine m = new Mine(); System.out.println(m.amethod()); } public int amethod() { try { FileInputStream dis = new FileInputStream("Hello.txt"); }catch (FileNotFoundException fne) { System.out.println("No such file found"); return -1; }catch(IOException ioe) { } finally{ System.out.println("Doing finally"); } return 0; } } a) No such file found b)No such file found ,-1 c) No such file found, doing finally, -1 d) 0 26、建立一個HTML去顯示一個applet時,必須要定義的tags是: a) name, height, width b) code, name c) codebase, height, width d) code, height, width 27、編譯運行下面的代碼,會有什么結(jié)果產(chǎn)生: class Base {} class Sub extends Base {} public class CEx{ public static void main(String argv[]){ Base b = new Base(); Sub s = (Sub) b; } } a) Compile and run without error b) Compile time Exception c) Runtime Exception 28、用下面的HTML去顯示applet:MgAp,控制臺會有什么結(jié)果顯示: import java.applet.*; import java.awt.*; public class MgAp extends Applet{ public void init(){ System.out.println(getParameter("age")); } } a) Error no such parameter b) 0 c) null d) 30 參數(shù)age沒有獲得從HTML給定的值,因此顯示null. 29、Math類包含在哪個包里: a) java.io b) java.awt c) java.lang d) java.applet 30、編譯運行下面的代碼,會有什么結(jié)果產(chǎn)生://Code start import java.awt.*; public class Butt extends Frame{ public static void main(String argv[]){ Butt MyBut= new Butt(); } Butt(){ Button HelloBut = new Button("Hello"); Button ByeBut = new Button("Bye"); add(HelloBut); add(ByeBut); setSize(300,300); setVisible(true); } } //Code end a) 兩個按鈕并列占據(jù)整個frame b) Hello按鈕占據(jù)整個frame c) Bye按鈕占據(jù)整個frame The default layout manager for a Frame is a border layout. If directions are not given (ie North, South, East or West), any button will simply go in the centre and occupy all the space. An additional button will simply be placed over the previous button. What you would probably want in a real example is to set up a flow layout as in setLayout(new FlowLayout()); which would. 31、Java程序是否可以在除了Windows的其他平臺上運行: A) 不可以 B)可以 32、對于一個Java源文件,import, class定義以及package正確的順序是: A)package, import, class B)class, import, package C)import, package, class D) package, class, import 33、那個方法可以不能被String型對象調(diào)用: Which methods can be legally applied to a string object? 第 9 頁 共 18 頁 A) equals(String) B)toString() B) trim() D)round() 34、main方法中的參數(shù)正確的定義是: A) String[] args [] B)String [] args B) float args [] D)String args 35、在命令行執(zhí)行:java Example 12 3e you 45.6 那么main方法的參數(shù)args數(shù)組的第一個元素args[0]的內(nèi)容是: Java B)Example C)12 D)3e 36、下面那個不是Java的關(guān)鍵字: A) goto B)malloc B) extends D)while 37、編譯下面的代碼,結(jié)果是: public class Test { public static void main (String args []) { int age; age = age + 1; System.out.println("The age is " + age); } } A)編譯運行都沒有結(jié)果輸出 B)編譯運行后輸出 The age is 1 C)編譯通過,但運行時會出錯 D)編譯不通過 38、下面合法的char型值是: A)‘a(chǎn)’ B)"a" C) new Character(a) D) D)\000a 39、能夠給一個byte型變量賦值的范圍是: What is the legal range of a byte integral type? A)0 - 65, 535 B)(–128) – 127 C)(–32,768) – 32,767 D)(–256) – 255 40、下面哪個是非法的: Which of the following is illegal: A)int i = 32; B)float f = 45.0; C)double d = 45.0; D)char c = ‘u’ 41、編譯下面的代碼,其結(jié)果是: public class Test { static int age; public static void main (String args []) { age = age + 1; System.out.println("The age is " + age); } } A)編譯運行都沒有結(jié)果輸出 B)編譯運行后輸出 The age is 1 C)編譯通過,但運行時會出錯 D)編譯不通過 42、下面正確的是: Which of the following are correct? A)128 >> 1 為 64 B)128 << 1為64 C)128 >> 1為–64 D)128 << 1為–64 43、下面返回true的是: A)"john" != "john" B)"john". equals("john") C)"john" = "john" D)"john".equals(new Button("john")) 44、下面哪條語句不會導(dǎo)致運行時錯誤: A)"john" + " was " + " here" B)"john" + 3 C)3 + 5 D)5 + 5.5 E)以上四個都不會導(dǎo)致運行時錯誤 45、下面哪個是位運算符: A)>= B)|| C)&& D)| 46、下面那個是可以被接受的: A)Object o = new Button("A"); B)Boolean flag = true; C)Panel p = new Frame(); D)Frame f = new Panel(); 47、編譯運行下面代碼,其結(jié)果是: public class Test { static int total = 10; public static void main (String args []) { new Test(); } public Test () { System.out.println("In test"); System.out.println(this); int temp = this.total; if (temp > 5) { System.out.println(temp); } } } A)此類不會被編譯 B)編譯出錯在第2行 C)編譯出錯在第9行 D)編譯通過,運行后輸出:10 48、下面正確的是: A)String temp [] = new String {"j" "a" "z"}; B)String temp [] = { "j " " b" "c"}; C)String temp = {"a", "b", "c"}; D)String temp [] = {"a", "b", "c"}; 49、下面定義了一個抽象方法add,正確的是: What is the correct declaration of an abstract method that is intended to be public: A)public abstract void add(); B)public abstract void add() {} C)public abstract add(); D)public virtual add(); 500、在什么情況下,你會獲得一個缺省的構(gòu)造方法: A)當(dāng)你定義任何類的時候 B)當(dāng)類沒有其他構(gòu)造方法的時候 C)當(dāng)你至少定義了一個構(gòu)造方法的時候 51、閱讀下面的代碼: public class Test { … } 那個是這個類的合法構(gòu)造方法: A)public void Test() {…} B)public Test() {…} C)public static Test() {…} D)public static void Test() {…} 52、Java編譯器不能接受的是: A)if (2 == 3) System.out.println("Hi"); B)if (2 = 3) System.out.println("Hi"); C)if (true) System.out.println("Hi"); D)if (2 != 3) System.out.println("Hi"); 53、若一個方法包含了一段可能引起異常的代碼,那么此方法想要調(diào)用他的方法去處理這個潛在的異常的正確方法是: A)throw Exception B)throws Exception C)new Exception D)Dont need to specify anything 54、若給參數(shù)a傳遞4,給b傳遞0,那么下面程序的結(jié)果是: public void divide(int a, int b) { try { int c = a / b; } catch (Exception e) { System.out.print("Exception "); } finally { System.out.println("Finally"); } A)Prints out: Exception Finally B)Prints out: Finally C)Prints out: Exception D)No output 55、編寫一個方法重載題目給出的方法add,那么他的返回類型可以是: public void add(int a) {…} A)void B)int C)可以是任何類型 D)String 56、合法的Java標(biāo)示符有: A. IdoLikeTheLongNameClass B. $byte C. const //保留字 D. _okE. 3_case 57下面這段代碼中定義的類在不同的文件中: class Vehicle { public void drive() { System.out.println("Vehicle: drive"); } } class Car extends Vehicle { public void drive() { System.out.println("Car: drive"); } } public class Test { public static void main (String args []) { Vehicle v; Car c; v = new Vehicle(); c = new Car(); v.drive(); c.drive(); v = c; v.drive(); } } 編譯運行的結(jié)果是: A)Generates a Compiler error on the statement v= c; B)Generates runtime error on the statement v= c; C)輸出: Vehicle: drive Car: drive Car: drive D)輸出Prints out: Vehicle: drive Car: drive Vehicle: drive 58、考慮下面的這個類: 1. public class Test { 2. void test(int i) { 3. System.out.println("I am an int."); 4. } 5. void test(String s) { 6. System.out.println("I am a string."); 7. } 8. 9. public static void main(String args[]) { 10. Test t=new Test(); 11. char ch=’y’; 12. t.test(ch); 13. } 14. } 哪一個說明是正確的: A. 第5行編譯出錯,因為方法test不能被重載 B. 第12行編譯出錯,因為方法test的參數(shù)不是char類型 C. 編譯運行通過,輸出:I am an int. D. 編譯運行通過,輸出:I am a String. 點評:在第12行,16位長的char型變量ch在編譯時會自動轉(zhuǎn)化為一個32位長的int型,并在運行時傳給void test(int i)方法。 59、一個類Outer,其內(nèi)部定義了一個內(nèi)部類Inner,在Outer類的主方法中創(chuàng)建內(nèi)部類對象的正確方法是: A)Inner inner = new Inner() B)Outer.Inner inner = (new Outer()).new Inner() C)Outer inner = new Inner() D)Inner inner = new Outer() 60、當(dāng)x的值為2時,下面代碼的運行結(jié)果是: switch (x) { case 1: System.out.println(1); case 2: case 3: System.out.println(3); case 4: System.out.println(4); } A)什么都不會輸出 B)3 C)34 D)134 1、4) double d=999d; 2、2) new 3、1) System.out.println(1+1); 4、2) Math.max(7,9); 5、1) byte 的表示范圍為 -128 to 127 6、2) 編譯運行通過,輸出 Base 7、2) public static void amethod(){} 8、1) char c=’1’; System.out.println(c>>1); 9、3) transient 10、2) 輸出 “Hello Crowle” 二、改錯 1、答案:public static void main(String[] args) 2、答案:public class Ex2 { int j; public static void main(String[] args) { System.out.println(“Hello World!”); } } 3、答案:z = a + b ; 4、答案: 1)int b = 200; 2) float f = 8.9f 3) char c = ‘h’ 4) boolean b = true 5、答案: public class Ex5 { int x = 1; int y = 1; x = 2; } 6、答案: public class Ex6 { int x = 1; int y = 1; public static void main(String[] args ) { System.out.print( “Hello” ); } } 7、package mycode.ide1; package mycode.ide2; public class Ex1 { …. } 答案:不能有兩個package 8、import mycode.ide1.*; package mycode.ide2; public class Ex2 { …. } 答案:imports和package 順序顛倒 9、 public abstract class Ex3 { void m1() { System.out.println( “m1” ); } void m2(); } 答案:方法m2應(yīng)該被聲明為abstract,或者給出m2的方法體 10、public interface Ex4 { int j; void m1(){}; void m2(); } 答案:接口中的變量都是常量,應(yīng)該給他賦初值;接口中的方法都是抽象方法,而m1不是抽象方法 11、interface Parent { int j = 1; void m1(); } public class Ex5 extends Parent { void m1() { System.out.print( “m1 in child” ); } } 答案:將extends 改為implements 12、interface Parent1 { void m1(); } interface Parent2 { void m2(); } public class Ex6 implements Parent1, Parent2 { void m1() { System.out.print( “m1 in child” ); } } 答案:方法m2沒有在Ex6中具體定義 13、 下面程序有什么錯誤?請指出并改正。 public class Base { public static void main(String argv[]) { int[][] t = { {1,2,3},{4,5},{6} }; try { System.out.print(t[1][2]); } catch( IOException e ) { e.printStackTrace(); } System.out.print( "Ends OK" ); } } 答:把IOException改為Exception 14、下面程序有什么錯誤?請指出并改正。 public class ExArray { public static void main(String argv[]) { int[][] t = { {1,2,3},{4,5},{6} }; try { System.out.print(t[1][2]); } System.out.print( "after try block" ); catch( Exception e ) { e.printStackTrace(); } System.out.print( "after catch block" ); } } 答:在try 和catch之間不能出現(xiàn)任何語句。因此去掉System.out.print( "after try block" ); 15、改正下面代碼的錯誤: int[] a = new int[3]; a[0] = 1; a[1] = 2.0; a[2] = 3; 答:把a[1] = 2.0改為a[1] = 2 三、名詞解釋 1、 重置:在繼承類之間,子類和其父類都有一個同名的方法,該方法的方法頭完全一致,子類對象調(diào)用這個方法時,實際調(diào)用的是自己的,而非其父的,這種現(xiàn)象叫~ 2、 異常:程序在運行期間,出現(xiàn)錯誤而不能正常退出,這種現(xiàn)象叫~ 3、 Java虛擬機: 在真實機器中用軟件模擬實現(xiàn)的一種想象機器。Java虛擬機代碼被存儲在 .class文件中;每個文件都包含最多一個public類。Java虛擬機規(guī)范為不同的硬件平臺提供了一種編譯Java技術(shù)代碼的規(guī)范,該規(guī)范使Java軟件獨立于平臺,因為編譯是針對作為虛擬機的“一般機器”而做,這個“一般機器”可用軟件模擬并運行于各種現(xiàn)存的計算機系統(tǒng),也可用硬件來實現(xiàn)。 4、 節(jié)點流:直接提供輸入輸出功能的流 5、 處理流:高級流,增強了節(jié)點流的功能 四、問答題 1、答案:choice = 2 choice = 3 choice = default 2、解釋重載的概念。 3、 答案:Ex6 obj = new Ex6( 3 ) 4、請寫出全部的關(guān)系運算符以及邏輯運算符。 答案:> < >= <= != == ! && || ^ 簡要解釋下面存取控制符的作用。 第 14 頁 共 18 頁 public protected privat 答案:1)任何類都可訪問 2)繼承類和同一軟件包的類可訪問 3)只有在其修飾的數(shù)據(jù)和方法所在類可訪問 5、下面的表達(dá)式會產(chǎn)生100以內(nèi)的隨機整數(shù)嗎? 100*Math.random() 答:不會。 6、下面的數(shù)組定義是否正確? int[] a={3.1,7,9} 答:不正確。 7、訪問下面這個數(shù)組第4個元素是用a[4]嗎? int[] a={3,1,7,9} 答:不是,應(yīng)該是a[3] 8、下面是一個數(shù)組的聲明: int[][] t = { {1,2,3,4},{4,5,3},{6,3} } 問:t.length的值是多少?t[1].length的值是多少? 答:3,3 9、給定兩個字符串: String s1= “abc”; String s2 = “xyz22”; 問:s2.concat(s1)的結(jié)果是什么?s2.replace(‘x’,’a’)的結(jié)果是什么? 答:xyz22abc,ayz22 五、編程題 1、編寫一個程序螺旋輸出一個33矩陣的元素。33矩陣如下所示: 1 8 7 2 9 6 3 4 5 答案: public class matrix { public static void main(String[] args) { int k , m , n , i , j; int a[][] = { {1,8,7} , {2,9,6} , {3,4,5} }; n = 3; if ( n % 2 > 0 ) m = n / 2 + 1; else m = n / 2; for ( k = 0 ; k < m ; k++ ) { System.out.println( a[ k ][ k ] ); j = k; for ( i = k + 1 ; i < n - k ; i++ ) System.out.println( a[ i ][ j ] ); i--; for ( j = k + 1 ; j < n - k ; j++ ) System.out.println( a[ i ][ j ] ); j--; for ( i = n - k - 2 ; i >= k ; i-- ) System.out.println( a[ i ][ j ] ); i++; for ( j = n - k - 2 ; j > k ; j-- ) System.out.println( a[ i ][ j ] ); } } } 2、編寫程序?qū)崿F(xiàn)折半查找算法,其查找的序列為一個整數(shù)序列{2,4,6,9,12,56,89,100,123,567}。 答案: public class binsrch { private int r[]; private int key; public binsrch( int k ) { r = new int[ 5 ]; r[ 0 ] = 2;r[ 1 ] = 5;r[ 2 ] = 7;r[ 3 ] = 18;r[ 4 ] = 21; this.key = k; } public boolean Bin_srch( int a[] , int k ) { int low , high , mid; boolean found = false; low = 0; high = a.length - 1; while( low <= high && !found ) { mid = (low + high)/2; if( a[ mid ] < k ) low = mid + 1; else if( a[ mid ] == k ) found = true; else high = mid - 1; } return found; } public boolean Bin_srch1( int a[] , int k , int low , int high ) { int mid; boolean found = false; if( low <= high && !found ) { mid = (low + high)/2; if( a[ mid ] < k ) { low = mid + 1; found = Bin_srch1( a , k , low , high ); } else if( a[ mid ] == k ) found = true; else { high = mid - 1; found = Bin_srch1( a , k , low , high ); } } return found; } public static void main(String[] args) { boolean result; binsrch bin = new binsrch( Integer.parseInt( args[ 0 ] ) ); //result = bin.Bin_srch( bin.r , bin.key ); result = bin.Bin_srch1( bin.r , bin.key , 0 , bin.r.length - 1 ); if( result ) System.out.println("The number you search is found in the array!"); else System.out.println("The number you search is existed!"); } } 第 18 頁 共 18 頁 以上僅為參考答案,簡答、論述題均只列及主要的解題知識點,請您結(jié)合自我理解和課本內(nèi)容進行知識 掌握和鞏固。如對答案等有疑義,請及時登錄學(xué)院網(wǎng)站“輔導(dǎo)論壇”欄目,與老師交流探討!- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- java程序設(shè)計 java 程序設(shè)計 作業(yè) 答案
鏈接地址:http://m.appdesigncorp.com/p-7971723.html