nbhkdz.com冰点文库

JAVA期末考试复习题

时间:2018-01-04


《JAVA 程序设计》练习题

一、单选择题 1、编译 Java 展名为( B A.java C.html 2、设 x = 1 , y = 2 ,z = 3,则表达式 A. 3 C. 4 3、不允许作为类及类成员的访问控制符的是( A. public C. static C )。 B. private D. protected y+=z--/++x Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩 )。 B. .class D. .exe 的值是( A B. 3.5 D. 5 )。

4、 为 AB 类的一个无形式参数无返回值的方法 method 书写方法头, 使得使用类名 AB 作为前 缀就可以调用它,该方法头的形式为( A )。 A. static void method( ) void method() C. final void method( ) abstract void method( ) 5、关于选择结构下列哪个说法正确?( A.if 语句和 else 语句必须成对出现 B.if 语句可以没有 else 语句对应 C.switch 结构中每个 case 语句中必须用 break 语句 D.switch 结构中必须有 default 语句 B ) B. public

D.

6、while 循环和 do…while 循环的区别是:( A.没有区别,这两个结构任何情况下效果一样 B.while 循环比 do…while 循环执行效率高

D

)

C.while 循环是先循环后判断,所以循环体至少被执行一次 D.do…while 循环是先循环后判断,所以循环体至少被执行一次

7、关于 for 循环和 while 循环的说法哪个正确?( B A.while 循环先判断后执行,for 循环先执行后判断。

)

B.while 循环判断条件一般是程序结果,for 循环的判断条件一般是非程序结果 C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空

8、下列修饰符中与访问控制无关的是( A. private C.protected D.final

D

) B. public

9、 void 的含义:( A.方法没有返回 值 法体为空 C.没有意 义 义方法时必须使用

A

)

B. 方

D. 定

10、 return 语句:(

C

)

A.只能让方法返回数值 C.方法中可以有多句 return 对象

B.方法都必须含有 D.不能用来返回

11、关于对象成员占用内存的说法哪个正确?( A.同一个类的对象共用同一段内存

B

)

B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间 C.对象的方法不占用内存 D.以上都不对

12、下列说法哪个正确?( C A.不需要定义类,就能创建对象 B.对象中必须有属性和方法

)

C.属性可以是简单变量,也可以是一个对象 D、属性必须是简单变量

13、下列说法哪个正确?(

A

)

A、一个程序可以包含多个源文件 B、一个源文件中只能有一个类 C、一个源文件中可以有多个公共类 D、一个源文件只能供一个程序使用

14、关于方法 main()的说法哪个正确?( A.方法 main()只能放在公共类中

C

)

B main()的头定义可以根据情况任意更改 C.一个类中可以没有 main()方法 D.所有对象的创建都必须放在 main()方法中

15、构造函数何时被调用?( A、 创建对象时 类定义时 C、 使用对象的方法时 使用对象的属性时

A

) B、

D、

16、 抽象方法:( A、可以有方法体

C

)

B、可以出现在非抽象类中 C、是没有方法体的方法 D、抽象类中的方法都是抽象方法

17、关于继承的说法正确的是:(

B

)

A、子类将继承父类所有的属性和方法。 B、子类将继承父类的非私有属性和方法。 C、子类只继承父类 public 方法和属性 D、子类只继承父类的方法,而不继承属性

18、关于构造函数的说法哪个正确?( A、一个类只能有一个构造函数 B、一个类可以有多个不同名的构造函数

C

)

C、构造函数与类同名 D、构造函数必须自己定义,不能使用父类的构造函数 C 19、 this 和 super:( C )

A、都可以用在 main()方法中 B、都是指一个内存地址 C、不能用在 main()方法中 D、意义相同

20、关于 super 的说法正确的是:( A、是指当前对象的内存地址 B、是指当前对象的父类对象的内存地址 C、是指当前对象的父类 D、可以用在 main()方法中

C

)

21、覆盖与重载的关系是 (

A

)

A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中 B.覆盖方法可以不同名,而重载方法必须同名 C.final 修饰的方法可以被覆盖,但不能被重载 D.覆盖与重载是同一回事

22、关于接口哪个正确?( A

)

A、实现一个接口必须实现接口的所有方法 B.一个类只能实现一个接口

C.接口间不能有继承关系 D.接口和抽象类是同一回事

23、异常包含下列哪些内容?(

A

)

A.程序执行过程中遇到的事先没有预料到的情况 B.程序中的语法错误 C.程序的编译错误 D.以上都是

24、 对于已经被定义过可能抛出异常的语句,在编程时: ( A、必须使用 try/catch 语句处理异常,或用 throws 将其抛出 B.如果程序错误,必须使用 try/catch 语句处理异常 C.可以置之不理 D.只能使用 try/catch 语句处理

A

)

25、当某一线程正处于休眠状态,而另一个线程用 Thread 类中的 interrupt() 方法中断 它时,抛出的异常类型是( C )。 A) IOException C)InterruptedException B) RuntimeException D) ClassNotFoundException

26、下面的程序段的功能是(

D

)。

File file1=new File("d:\\xxx\\yyy\\zzz"); file1.mkdirs(); A)在当前目录下生成子目录:\xxx\yyy\zzz B)生成目录:e:\xxx\yyy\zzz

C)在当前目录下生成文件 xxx.yyy.zzz

D)以上说法都不对

27、应用程序的 main 方法中有以下语句,则输出的结果是 (

B

)。

String s = "xxxxxxxxxxxxxxx#123#456#zzzzz"; int n = s.indexOf("#"); int k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k); System.out.println(s2); A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz

28、关于下面的程序 Test.java 说法正确的是( public class Test { Stringx="1"; int y;

D

)。

publicstatic void main(String args[]) { intz=2; System.out.println(x+y+z); } } A)3 译错误 B)102 C) 12 D)程序有编

29、应用程序的 main 方法中有以下语句,则输出的结果是(

A

)。

int b[][]={{1, 1, 1}, {2,2}, {3}}; int sum=0; for(int i=0; i<b.length; i++) { for(int j=0; j<b[i].length; j++) { sum+=b[i][j]; } } System.out.println("sum="+sum); A) 10 B)6 C) 9 D) 13

30、应用程序的 main 方法中有以下语句,则执行后输出的结果是( int[] x = {125,21,5,168,98}; int min = x[0]; for (int i=1; i<x.length; i++){ if(x[i] <min) min = x[i]; } System.out.println(min); A) 125 B) 5 C) 98 D) 168

B

)。

31、应用程序的 main 方法中有以下语句,则输出的结果是( D Hashtable hashtable=new Hashtable(); hashtable.put("100","aaa"); hashtable.put("200","bbb");

)。

hashtable.put("300","ccc"); System.out.println(hashtable.get("300").toString() +hashta ble.get("200").toString() + hashtable.get("100").toString()); A)aaa B) bbb C) ccc D) cccbbbaaa

32、以下关于 java 异常说法不正确的是(

D

)。

A) Throwable 类是 Java 语言中 Error 类和 Exception 类的父类。 B)当异常对象是 Exception 类(或其子类)的实例时,能通过 Java 虚拟机或者 throw 语 句抛出该异常对象,并能通过 try…catch…finally 处理。 C)如果只用一个 catch 块捕捉多个异常对象,则 catch 子句中的参数类型应是所有异常对 象的父类。 D)以上说法都不对。

33、下列程序段执行后的结果是(

A

)。

String s = new String("abcdefg"); for (int i=0; i<s.length(); i+=2){ System.out.print(s.charAt(i)); } A) aceg abcd B) ACEG C) abcdefg D)

34、有整型数组:int[] 元素值依次是( A

x={12,35,8,7,2};,则调用方法 Arrays.sort(x)后,数组 x 中的 )。

A) 2 7 12 35 8 C) 35 12 8 8 7 12

8 7

12 2 7 35

35

B)

2 2

D)

35、应用程序的 main 方法中有以下语句,则输出的结果是( String s1=new String("abc"); String s2=new String("abc");

A

)。

boolean b1=s1.equals(s2); boolean b2=(s1==s2); System.out.print(b1+" A)true false true true "+b2); C)

D)false

B) false true false

36、应用程序的 main 方法中有以下语句,则输出的结果是 (

B

)。

Hashtable hashtable=new Hashtable(); hashtable.put("x","12345"); hashtable.put("y","67890"); hashtable.put("a","abcde"); System.out.println(hashtable.get("a")); A)a B) abcde C) 12345 D) 67890

37、应用程序的 main 方法中有以下语句,则输出的结果是(

B

)。

String s="12345#aaa#bbb#67890"; int n=s.indexOf("#");

int k=s.indexOf("#",n+1); int m=s.indexOf("#",k+1); String s2=s.substring(m+1); System.out.println(s2); A) 123456 bbb B) 67890 C) aaa D)

38、下面程序段执行后 b 的值是( B

)。

Integerinteg =new Integer(9); boolean b = integ A) 9 B) true instanceof C) 1 Object; D) false

39、应用程序 Test.java 的源程序如下,在命令行键入: javaTest 回车后输出的结果是( A )。 aaa bb c

public class Test { publicstatic void main(String args[]) { int int k1=args.length; k2=args[1].length(); "+k2);

System.out.print(k1+" } }

A) 3 2 3 3

B)1

2

C) 1

3

D)

40、应用程序的 main 方法中有以下语句,则输出的结果是 (A int b[][]={{1}, {2,2}, {2,2,2}}; int sum=0; for(int i=0;i<b.length;i++) { for(int j=0;j<b[i].length;j++) { sum*=b[i][j]; } } System.out.println("sum="+sum); A) 32 3 B)11 C) 2 D)

)。

41、应用程序的 main 方法中有以下语句,则执行后输出的结果是( int[] x={125,21,5,168,98}; int max=x[0];

D

)。

for(int i=1;i<x.length;i++){ if(x[i]>max) max =x[i]; } System.out.println(max);

A) 125 168

B) 5

C) 98

D)

42、程序 Test.java 编译运行后输出的结果是( public class Test { Strings1="java";

A

)。

publicstatic void main(String args[]) { intz=2; Testt=new Test(); System.out.println(t.s1+z); } } A) java2 果 B)2 D)java C)没有输出结

43、应用程序的 main 方法中有以下语句,则输出的结果是 ( String s1="0.5", s2="12"; double x=Double.parseDouble(s1); int y=Integer.parseInt(s2); System.out.println(x+y); A) 12.5 “12.5” B) 120.5 C) 12

A

)。

D)

44、如下哪个是 Java 中的标识符( A、public width B、super

A

) C、3number D、

45、如下哪个是 Java 中的标识符( A、fieldname B、super

A

) C、3number D、#number

46、已知如下定义:String s = "story"; 下面哪个语句不是合法的( A、s += "books"; + 100; C、int len = s.length; + “abc”;

A

) B、s = s

D、String t = s

47、如下哪个是 Java 中有效的关键字( A、name false

C B、hello

) C、

D、good

48、下面的代码段执行之后 count 的值是什么( int count = 1; for (int i = 1; i <= 5; i++) { count += i; } System.out.println(count); A、5 15 B、1 D、16

D

)

C、

49、定义一个类,必须使用的关键字是( A、public interface

B

) C、

B、class D、static

50、定义一个接口必须使用的关键字是( A、public interface

C

) C、

B、class D、static

51、如果容器组件 p 的布局是 BorderLayout,则在 p 的下边中添加一个按钮 b,应该使用的 语句是( C ) A、 p.add(b); p.add(b,"North"); C、p.add(b,"South"); b.add(p,"North"); B、

D、

52、声明并创建一个按钮对象 b,应该使用的语句是( A、Button b=new Button(); C、Button b=new b(); 定”);

A

)

B、button b=new button(); D、b.setLabel(“确

53、Frame 对象默认的布局管理器是( A、FlowLayout BorderLayout C、CardLayout

B

) B、

D、null

二、填空题

1、开发与运行 Java 程序需要经过的三个主要步骤为 编译生成字节码 码 。

编辑源程序 和 解释运行字节



2、在 Java 的基本数据类型中,char 型采用 Unicode 编码方案,每个 Unicode 码占 用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占 用 2 字节内存空间。 1 。

3、设 x = 2 ,则表达式 ( x + + )/3 的值是

4、若 x = 5,y = 10,则 x < y 和 x >= y 的逻辑值分别 为 true 和 false 。 5、 抽象 方法是一种仅有方法头,没有具体方法体和操作实现的方法, 该方法必须在抽象类之中定义。 final 方法是不能被当前类的子类重新定 义的方法。 6、创建一个名为 MyPackage 的包的语句是 mypackage , 该语句应该放在程序的位置为: 句 package

应放在程序第一 。 则

7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 ,60 , 70}; 执行以下几个语句后的输出结果是 120 。 int s = 0 ; for (int i = 0 ; i < MyIntArray.length ;i + + ) if ( i % 2 = = 1 ) s += MyIntArray[i] ; System.out.println(s); 8、在 Java 程序中,通过类的定义只能实现 义可以实现 多 重继承关系。 单

重继承,但通过接口的定

1、如果将类 MyClass 声明为 public,它的文件名称必须是 MyClass.java 才能正常编译。

2、Java 程序中的单行注释符是 是 /*....*/ 。

//

,多行注释符

3、Java 中布尔类型的常量有两种,它们是 true 和 false



4、Java 中用于定义小数的关键字有两个: double ,后者精度高于前者。

float



5、Java 中用于两个数相等比较的运算符是: 算符是 <> 。

==

,用于不相等比较的运

6、在 Java 中定义一个字符串类型的变量 str 的语句是: String str 定义一个具有 10 个元素的整型数组 a 的语句是: int [] r=new int [10]

, 。

7、导入 mypackage 包中的所类的命令是

impoartmypackage.*;



8、当声明一个数组 int arr[] = new int[5]; 时,这代表这个数组所保存的变量类型 是 int ,数组名是 arr ,数组的大小 为 5 ,数组元素下标的使用范围是 0到4 。

9、假设 x=13,y=4,则表达式 x%y != 0 的值是 是 boolean 。

true

,其数据类型

10、异常处理是由 try 、 键所组成的程序块。

catch



finally

块三个关

11、以下程序段的输出结果是 int x = 5, y = 6, z = 4;

三角形

if(x + y > z && x + z > y && z + y > x) System.out.println("三角形"); else System.out.println("不是三角形");

12、下面程序段的执行结果是

6 5 4 3 2

int a[] = { 2, 3, 4, 5, 6 }; for(int i = a.length - 1; i >= 0; i--) System.out.print(a[i] + "");

三、简答题 1、简述 Java 中异常处理的机制? 答:首先 Java 的异常是面向对象的。一个 Java 的 Exception 是一个描述异常情况的对象. 当出现异常情况时,一个 Exception 对象就产生了,并放到异常的成员函数里。 Java 的异常处理是通过 5 个关键词来实现的:try,catch,throw,throws 和 finally。 1.异常处理:在 Java 语言的错误处理结构由 try,catch,finally 三个块组成。其中 try 块存放将可能发生异常的 Java 语言, 并管理相关的异常指针; catch 块紧跟在 try 块后 面,用来激发被捕获的异常;finally 块包含清除程序没有释放的资源,句柄等。不管 try 块中的代码如何退出,都将执行 finally 块。 2.抛出异常:Java 语言可以不在方法中直接捕获,而用 throw 语句将异常抛给上层的 调用者。Throw 语句就是来明确地抛出一个异常;首先你必需得到一个 Throwable 的实例句 柄,通过参数传到 catch 中,或者采用 new 操作符来创建一个。

2、什么是继承?

答: 通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法, 并把 这种关系称为继承, 先定义的类称为父类, 后定义的类称为子类, 并且允许多层的继承关系。

3、请简述重载和重写的区别? 答:方法的重写 Overriding 和重载 Overloading 是 Java 多态性的不同表现。 重写 Overriding 是父类与子类之间多态性的一种表现, 重载 Overloading 是一个类中 多态性的一种表现。 如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定 义如同被“屏蔽”了。 如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类 型,则称为方法的重载(Overloading)。Overloaded 的方法是可以改变返回值的类型。

四、写出下面程序的运行结果 1、 import java.io.*; public class abc { public static void main(String args [ ]) { AB s = new AB("Hello!","Ilove JAVA."); System.out.println(s.toString( )); } } class AB { String s1; Strings2;

public AB(String str1, String str2) { s1 = str1; s2 = str2; } public String toString( ) { return s1+s2; } } 运行结果: Hello!I love JAVA

2、 import java.io.* ; public class abc { public static void main(String args[ ]) { int i, s = 0 ; int a[ ] = { 10 , 20 , 30 , 40 ,50 , 60 , 70 , 80 , 90 }; for ( i = 0 ; i < a.length ; i ++) if ( a[i]%3 = = 0 ) System.out.println("s="+s); } } s += a[i] ;

运行结果:

S=180

3、import java.io.* ; public class abc { public static void main(String args[ ]) { System.out.println("a="+a+"\nb="+b); } } class SubClass extends SuperClass { int c; SubClass(int aa, int bb, int cc) { super(aa, bb); c=cc; } } class SubSubClass extends SubClass { int a; SubSubClass(int aa, int bb, int cc) { super(aa, bb, cc); A = aa+bb+cc; }

void show() { System.out.println("a="+a+"\nb="+b+"\nc="+c); } } 运行结果:a=60 b=20 c=30 4、以下程序的输出结果为_Peter is17years old!________________。 public class Person { Stringname; intage;

publicPerson(String name, int age) { this.name = name; this.age = age; }

publicstatic void main(String[] args) { Person c = new Person("Peter",17); System.out.println(c.name + " is" + c.age + " years old!"); } }

5、以下程序的输出结果为__课程号:101 课程名:ASP 学分:3___________________。

public class Course { privateString cNumber; privateString cName; privateint cUnit;

publicCourse(String number, String name, int unit) { cNumber = number; cName = name; cUnit = unit; }

publicvoid printCourseInfo() { System.out.println("课程号:" + cNumber + " 课程名:" + cName + " 学分:" + cUnit); } }

class CourseTest { publicstatic void main(String[] args) { Course c; c = new Course("101","ASP", 3); c.printCourseInfo(); } }

6、以下程序的输出结果为__汤姆猫体重:20.0 斤___________________。 public class Tom { privatefloat weight; privatestatic String name;

publicvoid setWeight(float weight) { this.weight = weight; }

privatevoid out() { System.out.println(name + "体重:" + weight + "斤"); }

publicstatic void main(String[] args) { Tom.name = "汤姆猫"; Tom cat = new Tom(); cat.setWeight(20); cat.out(); } }

7、以下程序的输出结果_姓名:Tom 年龄:15 家庭住址:金水区 电话:_66123456 学校: 九中_______________。

public class Father { Stringname, address, tel; intage;

publicFather(String name, int age) { this.name = name; this.age = age; }

voidout() { System.out.print("姓名:" + name); System.out.print(" 年龄:" + age); }

voidoutOther() { System.out.print(" 家庭住址:" + address); System.out.print(" 电话:" + tel); } }

class Son extends Father { Stringschool;

publicSon(String name, int age) {

super(name, age); }

voidout() { super.out(); super.outOther(); System.out.println(" 学校:" + school); }

publicstatic void main(String args[]) { Son son = new Son("Tom", 15); son.address = "金水区"; son.school = "九中"; son.tel = "66123456"; son.out(); } }

8、下列程序的运行结果是____1 23 45_________________。 public class MyClass { inta[] = { 1, 2, 3, 4, 5 };

voidout() { for (int j = 0; j < a.length; j++)

System.out.print(a[j]+ ""); }

publicstatic void main(String[] args) { MyClass my = new MyClass(); my.out(); } }

五、程序填空题 1.public class Sum{ publicstatic void main(String [] args){ int j=10; System.out.println("j is :"+j); calculate(j); System.out.println("At last, j is :"+j); } static void calculate (int j){ for (int i = 0;i<10;i++) j++; System.out.println("j in calculate()is: "+j); } } 输出结果为:

j is : j in calculate() is : At last j is : (2)

(1) 20 (3) 10

10

2.按要求填空 abstract class SuperAbstract{ voida(){…} abstractvoid b(); abstractint c(int i); } interface AsSuper { voidx(); } abstract class SubAbstract extendsSuperAbstract implements AsSuper { public void b(){…} abstractString f(); } public class InheritAbstract extendsSubAbstract{ publicvoid x(){…} publicint c(int i ) {…} publicString f(){…} publicstatic void main(String args[]){

InheritAbstract instance=newInheritAbstract(); instance.x(); instance.a(); instance.b(); instance.c(100); System.out.println(instance.f()); } } 在以上这段程序中: 抽象类有:SuperAbstract 和 (1) 非抽象类有: (2) (3) (写出接口名)AsSuper AsSuper 中的 x()方法是 对它进行 覆盖和实现 (写出类名)SuperAbstract (写出类名)InheritAbstract 接口有:

抽象 (4) (5)

方法,所以在 InheritAbstract 中必须

3.按注释完成程序 public class Leaf { privateint i = 0; //此属性值用于检验 Leafincrement(){ //定义方法 increment(),返回值是 Leaf 类的对象 i++; return 对象的地址作为返回值返回 } voidprint() { System.out.println(" i = " + i); this (1) ;//将当前

} publicstatic void main(String args[]){ Leaf x = 创建 Leaf 类的对象 x x.increment().increment().increment().print(); }//多次调用方法 increment(),返回的都是 x 的地址,i 值表示调用次数 } 输出结果为 i = 3 (3) new Leaf() (2) ; //

五、程序阅读题 1、阅读下面的程序代码,并回答问题(u 问 3 分,v 问 3 分,共 6 分)。 String s1 = new String("abcde"); String s2 = new String("abcde"); boolean b1= s1.equals(s2); boolean b2 = s1== s2; System.out.print(b1+" "+b2);

u 程序段执行后,在命令行的输出结果如何?答:True false v 解释输出(1)的结果的原因?略

2、阅读下面的程序,并回答问题(u 问 3 分,v 问 3 分,共 6 分)。 import java.io.*; public class Test { public static void main(String args[]) throws IOException {

BufferedReader buf=new BufferedReader( newInputStreamReader(System.in));

while(true) { String str = buf.readLine(); if(str.equals("quit")) break; int x=Integer.parseInt(str); System.out.println(x*x); } } } 编译运行上面的程序: u 从键盘输入 10,回车后输出的结果如何?答:100 v 从键盘输入 exit,回车后程序能正确执行吗?为什么?答:不能,略

3、阅读下面的程序,回答问题(u 问 3 分,v 问 3 分,共 6 分)。 import java.awt.*; import javax.swing.*; public class T extends JFrame { public T ( ) { super("GridLayout"); Container con=this.getContentPane(); con.setLayout(new GridLayout(2,3));

con.add(newJButton("a")); con.add(new JButton("b")); con.add(new JButton("c")); con.add(new JButton("d")); con.add(new JButton("e")); con.add(new JButton("f")); setSize(200, 80); setVisible(true); } public static void main(String args[]) { new T(); } } u 画图表示程序运行后的图形界面。 略

v 如果程序通过实现某个接口处理按钮的动作事件,则该接口名为何?接口中的方法头声明 如何? 略

4、阅读下面的程序,回答问题(u 问 3 分,v 问 3 分,共 6 分)。。 import java.util.*; public class T {

public static void main(String args[]) { Set set = new TreeSet(); set.add(new Integer(10)); set.add(new Integer(5));

set.add(new Integer(15)); set.add(new Integer(5)); set.add(new Integer(10)); System.out.println("size = " + set.size()); Iterator it=set.iterator();

while(it.hasNext()){ System.out.print(it.next()+" } } } u 程序运行后输出的结果如何?答:Size=3 5 10 15 ");

v 说明 java 中的集合(Set 接口)和映射(Map 接口)的主要区别。 略

5、阅读下面的程序,并回答问题(u 问 3 分,v 问 3 分,共 6 分)。 import java.io.*; public class Test { public static void main(String args[]) throws IOException { BufferedReader buf=new BufferedReader( newInputStreamReader(System.in));

while(true) { String str=buf.readLine();

if(str.equals("quit")) break;

int x=Integer.parseInt(str); System.out.println(x*x); } } } 编译运行上面的程序: u 从键盘输入 5,回车后输出的结果如何?答:25 v 从键盘输入 quit,回车后程序执行情况如何? 答:终止应用程序的运行

六、程序设计题 1、按以下要求编写程序 (1) 创建一个 Rectangle 类,添加 width 和 height 两个成员变量 (2) 在 Rectangle 中添加两种方法分别计算矩形的周长和面积 (3) 编程利用 Rectangle 输出一个矩形的周长和面积 解答: public class Rectangle { floatwidth, height;

publicRectangle(float width, float height) { this.width = width; this.height = height; }

publicfloat getLength(){ return (this.width + this.height) * 2; }

publicfloat getArea(){ return this.width * this.height; }

publicstatic void main(String [] args) { Rectangle rect = new Rectangle(10, 20); System.out.println("周长是:" + rect.getLength()); System.out.println("面积是:" + rect.getArea()); } }

2、编写一个 Frame 框架应用程序,要求如下: (1) 在窗口设置两个菜单“文件”、“编辑” (2) 在“文件”菜单里添加三个菜单项“打开”、“保存”、“关闭” (3) 在“编辑”菜单里添加两个菜单项“复制”、“粘贴” (4) 点击关闭菜单项时,使程序关闭。 解答: import java.awt.Color; import java.awt.Frame; import java.awt.Menu;

import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;

/* * 主窗体 */ public class MyFrame extends Frame { privatestatic final long serialVersionUID = 6895463895656626294L;

privateFrame frmMain; MenuBarmb; //菜单栏 MenumnuFile; MenumnuEdit; MenuItemmiOpen; MenuItemmiSave; MenuItemmiClose; MenuItemmiCopy; MenuItemmiPaste;

// 窗体

// "文件"菜单 // "编辑"菜单 //"打开"菜单项 // "保存"菜单项 // "关闭"菜单项 // "复制"菜单项 // "粘贴"菜单项

publicMyFrame() { frmMain = new Frame("主窗体");

// 创建菜单栏 mb = new MenuBar();

// 创建菜单 mnuFile = new Menu("文件"); mnuEdit = new Menu("编辑");

// 创建菜单项 miOpen = new MenuItem("打开"); miSave = new MenuItem("保存"); miClose = new MenuItem("关闭"); miCopy = new MenuItem("复制"); miPaste = new MenuItem("粘贴"); }

publicvoid showFrame() { frmMain.setSize(800, 600); frmMain.setLocation(100, 100); frmMain.setBackground(Color.white); frmMain.setVisible(true); frmMain.setLayout(null);

frmMain.addWindowListener(newWindowHandler()); // 注 册窗口监听器

// 将菜单栏放入窗体中 frmMain.setMenuBar(mb);

// 将菜单放入菜单栏中 mb.add(mnuFile); mb.add(mnuEdit);

// 将菜单项放入菜单中 mnuFile.add(miOpen); mnuFile.add(miSave); mnuFile.add(miClose);

mnuEdit.add(miCopy); mnuEdit.add(miPaste);

// 注册动作事件监听器 miClose.setActionCommand("miClose_Clicked"); miClose.addActionListener(newMenuHandler()); }

//定义一个内部类,在这个类中编写窗口关闭事件处理程序。 privateclass WindowHandler extends WindowAdapter {

public void windowClosing(WindowEvent e){ System.exit(0);// 退出应用程序,状态码 0 表示正常终止,非 0 表示异常终止。 } }

//定义一个内部类,在这个类中编写动作事件处理程序。 privateclass MenuHandler implements ActionListener {

public void actionPerformed(ActionEvente) {

if(e.getActionCommand() == "miClose_Clicked") { System.exit(0); // 退出应用 程序

} } } }

public class TestMyFrame {

publicstatic void main(String[] args) { // 启动主窗体 MyFrame guiWindow = new MyFrame(); guiWindow.showFrame(); } }


JAVA期末考试复习题.doc

JAVA期末考试复习题 - 《JAVA 程序设计》练习题 一、单选择题 1、 编

java期末考试复习资料.doc

java期末考试复习资料 - java,java考试,java学习... java期末考试复习资料_教育学_高等教育_教育专区。java,java考试,java学习 复习: 一,选择题 (1)Java 中,负责...

java期末考试复习知识点.doc

java期末考试复习知识点 - 6.1.2 字符串类几个常用方法 String

java期末考试复习题及答案.doc

java期末考试复习题及答案 - 《Java 程序设计》课程试卷 1.使用 Ja

JAVA期末考试试卷及答案.doc

JAVA期末考试试卷及答案 - 《JAVA 语言程序设计》期末考试模拟试题 一、

Java期末考试复习题库.doc

Java期末考试复习题库 - 1 Java 中对数据库查询结果集进行操作的对象是

Java期末考试复习题目和答案.doc

Java期末考试复习题目和答案 - Java 期末考试复习纲要 一、填空题 1.

JAVA WEB期末复习题库(便于打印版).doc

JAVA WEB期末复习题库(便于打印版) - 1、当访问一个 Servlet

合肥学院JAVA期末考试复习题库.pdf

合肥学院JAVA期末考试复习题库 - 一、判断题: 1.Java 程序里,创建新

JAVA期末考试复习题.doc

JAVA期末考试复习题 - 《JAVA 程序设计》练习题 一、单选择题 1、 编

java期末考试复习题库题库试题.doc

java期末考试复习题库题库试题 - 1 Java 中对数据库查询结果集进行操作

JAVA期末考试复习资料.pdf

JAVA期末考试复习资料 - 复习: 一,选择题 (1)Java 中,负责对字节

Java期末考试复习题.doc

Java期末考试复习题_IT/计算机_专业资料。1.编译 Java Applic

JAVA程序设计期末考试复习题.doc

JAVA程序设计期末考试复习题 - JAVA 程序设计期末考试复习题(仅供参考) 一、单项选择题 1.在 Java 中,负责对字节代码解释执行的是()。 A、垃圾回收器 B、虚拟...

JAVAWEB期末复习题库.pdf

JAVAWEB期末复习题库 - 1、当访问一个 Servlet 时,以下 Ser

合肥学院JAVA期末考试复习题库.doc

合肥学院JAVA期末考试复习题库 - 一、判断题: 1.Java 程序里,创建新

2014java期末复习试题.doc

本次测试除题型相近外, 也是期末考试内容的补充,请认真完成上传 FTP 和复习备考...一、填空题 1、Java 源程序文件的扩展名是_.java___,编译源程序的命令是__...

JAVA复习题答案.pdf

JAVA复习题答案_电子/电路_工程科技_专业资料。Java 期末考试复习题

java期末复习题.doc

java期末复习题 - 北方工业大学 java期末复习资料附答案... java期末复习题_工学_高等教育_教育专区。北方工业大学 java期末复习资料附答案 一、选择题 1. Java ...

Java语言程序设计期末复习综合练习题答案.doc

Java语言程序设计期末复习综合练习题答案 - Java 语言程序设计期末复习综合练习题 一、选择题。 2. main 方法是 Java Application 程序执行的入口点,关于 main...