《java程序設計》作業(yè)答案.doc
《《java程序設計》作業(yè)答案.doc》由會員分享,可在線閱讀,更多相關(guān)《《java程序設計》作業(yè)答案.doc(18頁珍藏版)》請在裝配圖網(wǎng)上搜索。
JAVA程序設計作業(yè)答案一、選擇題1、 編譯HelloWorld.java的正確命令是:第 2 頁 共 18 頁C) javac HelloWorld.java2、 正確運行HelloWorld.java的正確命令是:A)java HelloWorld3、 下面程序代碼,使用多行注釋正確的是:C) /* int k=9; int j=8; k = k + j; */4、 long型的取值范圍是:D)-263263-15、 下面不屬于Java保留字的是:C)malloc6、 下面屬于非法的Java標識符的是:D) abc-d7、 對與System.out.println()語句解釋合理的是:C)執(zhí)行后輸出一個空行8、 閱讀下面的代碼,回答問題,for( m = 0 ; m -2 ; m - ).For循環(huán)執(zhí)行多少次:C)29、 閱讀下面的代碼,回答問題,for( m = 0; m 5; m+ ) System.out.print( m + , );if( m = 3 ) break;執(zhí)行結(jié)果是:C)0,1,2,3,10、 閱讀下面的代碼,回答問題,public class Exint 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(arguments1);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 MyClassc) /*This is a comment */ package MyPackage; import java.awt.*; class MyClass14、byte型的變量的表示范圍為:a) -128 to 127 b) (-2 power 8 )-1 to 2 power 8c) -255 to 256 d) 依賴Java虛擬機而定15、在命令行運行命令:java myprog good morning會有什么結(jié)果顯示出來:public class myprogpublic static void main(String argv) System.out.println(argv2)a) myprog b) good c) morningd) Exception raised: java.lang.ArrayIndexOutOfBoundsException: 216、下面不是Java保留字的是:a) if b) then c) goto d) while17、下面屬于非法的標識符的是:a) 2variable b) variable2 c) _whatavariable d) _3_ e) $anothervar18、編譯下面的代碼,會有什么結(jié)果產(chǎn)生:public class MyClassstatic int i; public static void main(String argv)System.out.println(i); a) 錯誤,變量i 沒有初始化 b) null c) 1 d) 019、編譯運行下面的代碼,會有什么結(jié)果產(chǎn)生:public class Q public static void main(String argv)int anar= new int1,2,3;System.out.println(anar1); 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 int5;System.out.println(anar0); 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 MineBasepublic static void main(String argv)int ar = new int5;for(i = 0;i ar.length;i+)System.out.println(ari);a) 五個0被輸出 b) 錯誤,ar使用前沒有初始化c) 錯誤,類Mine 必須要被聲明為抽象的類 d) IndexOutOfBoundes Error i22、編譯運行下面的代碼,會有什么結(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) default23、編譯運行下面的代碼,會有什么結(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 displayed24、下面不會在編譯時出錯的是: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 =1j=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)生,注意,在當前目錄里沒有文件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) finallySystem.out.println(Doing finally);return 0;a) No such file found b)No such file found ,-1c) No such file found, doing finally, -1 d) 026、建立一個HTML去顯示一個applet時,必須要定義的tags是:a) name, height, width b) code, name c) codebase, height, width d) code, height, width27、編譯運行下面的代碼,會有什么結(jié)果產(chǎn)生:class Base class Sub extends Base public class CExpublic 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 Appletpublic 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.applet30、編譯運行下面的代碼,會有什么結(jié)果產(chǎn)生:/Code startimport java.awt.*;public class Butt extends Framepublic 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 enda) 兩個按鈕并列占據(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 insetLayout(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 args35、在命令行執(zhí)行:java Example 12 3e you 45.6 那么main方法的參數(shù)args數(shù)組的第一個元素args0的內(nèi)容是:Java B)ExampleC)12 D)3e36、下面那個不是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 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 = u41、編譯下面的代碼,其結(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 D)128 = 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)編譯通過,運行后輸出:1048、下面正確的是: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)當你定義任何類的時候 B)當類沒有其他構(gòu)造方法的時候C)當你至少定義了一個構(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)String56、合法的Java標示符有:A. IdoLikeTheLongNameClass B. $byte C. const /保留字 D. _okE. 3_case57下面這段代碼中定義的類在不同的文件中: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: driveCar: driveCar: drive D)輸出Prints out: Vehicle: drive Car: driveVehicle: drive58、考慮下面的這個類: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、當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)1341、4) double d=999d;2、2) new3、1) System.out.println(1+1);4、2) Math.max(7,9);5、1) byte 的表示范圍為 -128 to 1276、2) 編譯運行通過,輸出 Base7、2) public static void amethod()8、1)char c=1;System.out.println(c1);9、3) transient10、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.9f3) char c = h4) boolean b = true5、答案:public class Ex5int x = 1; int y = 1; x = 2;6、答案:public class Ex6int 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 .答案:不能有兩個package8、import mycode.ide1.*;package mycode.ide2;public class Ex2 .答案:imports和package 順序顛倒9、 public abstract class Ex3void m1() System.out.println( “m1” );void m2(); 答案:方法m2應該被聲明為abstract,或者給出m2的方法體10、public interface Ex4int j;void m1();void m2(); 答案:接口中的變量都是常量,應該給他賦初值;接口中的方法都是抽象方法,而m1不是抽象方法11、interface Parentint j = 1;void m1(); public class Ex5 extends Parent void m1() System.out.print( “m1 in child” ); 答案:將extends 改為implements12、interface Parent1void m1(); interface Parent2void 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(t12);catch( IOException e )e.printStackTrace();System.out.print( Ends OK ); 答:把IOException改為Exception14、下面程序有什么錯誤?請指出并改正。public class ExArray public static void main(String argv) int t = 1,2,3,4,5,6 ;try System.out.print(t12);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 int3; a0 = 1; a1 = 2.0; a2 = 3;答:把a1 = 2.0改為a1 = 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 = default2、解釋重載的概念。3、 答案:Ex6 obj = new Ex6( 3 )4、請寫出全部的關(guān)系運算符以及邏輯運算符。 答案: = 0 )m = n / 2 + 1;elsem = 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 = 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;elsehigh = 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;elsehigh = 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!);elseSystem.out.println(The number you search is existed!);第 18 頁 共 18 頁以上僅為參考答案,簡答、論述題均只列及主要的解題知識點,請您結(jié)合自我理解和課本內(nèi)容進行知識掌握和鞏固。如對答案等有疑義,請及時登錄學院網(wǎng)站“輔導論壇”欄目,與老師交流探討!- 1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- java程序設計 java 程序設計 作業(yè) 答案
鏈接地址:http://www.szxfmmzy.com/p-7971723.html