您好,欢迎来到微智科技网。
搜索
您的当前位置:首页大学_Java程序设计_2010秋复习题

大学_Java程序设计_2010秋复习题

来源:微智科技网


Caution :

一.1 以下哪条语句可以通过编译?(b) A. String #name = \"Jane Doe\"; B. int $age=24; C. Double _height = \"123.5\"; D. double ~temp = 37.5; 一.2 下列关于Java类的构造方法的说法中错误的是:d A. 构造方法的名字必须与类的名字完全相同。 B. 构造方法没有返回值也不能用void修饰。 C. 父类的构造方法不能被子类继承。

D. 构造方法必须用public访问控制符修饰。 一.3 给出如下代码:b class Test {

private int m;

public static void fun() { /* some code... */ } }

如何使成员变量m被函数fun()直接访问? A. 将private int m改为protected int m B. 将private int m改为public int m C. 将private int m改为static int m D. 将private int m改为int m

一.4 下面哪个函数是public void example() {...}的重载函数?b

A. public void example() {...} B. public int example() {...} C. public void example2() {...}

D. public int example(int m, float f) {...}

一.5 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个

数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( c )。 A. 隐藏 B. 覆盖 C. 重载 D. Java不支持此特性

以下程序的输出结果是() public class Test {

public static void main(String [] args) { int x = 5;

boolean b1 = true;

第 1 页 共 9 页

boolean b2 = false; if ((x == 4) && !b2)

System.out.print(\"l \"); System.out.print(\"2 \");

if ((b2 = true) && b1) //若是改成 if ((b2==true) && b1) 则只输出 2 System.out.print(\"3\"); } } A. 2 B. 3 C. 1 2

一.6 关于异常处理下列说法中正确的是:B A. Java系统中所有异常都需要捕获处理。

B. catch子句是通过类型匹配来捕获异常对象的。

C. try-catch-finally结构处理完异常后结束程序的运行。 D. 异常是一种错误,所以在程序中应该完全避免异常的出现。

一.7 下列关于对象类型转换的说法中正确的是: A. 某类的对象引用只能指向它的直接子类的对象。

B. 不存在祖先与后代关系的两个类的对象之间一定不能进行类型转换。 C. 后代类的对象引用能指向其祖先类的对象。 D. 对象类型转换只有强制转换而没有自动转换。

一.8 类Teacher和Student是类Person的子类,则B

Person p; Teacher t; Student s; // 设p,t和s都是非null引用 if(t instanceof Person) s = (Student)t;

关于最后一条语句的正确说法是: A. 将构造一个Student对象。

D. 2 3

B. 类型转换正确。

C. 表达式是错误的。

D. 编译时正确,但运行时错误。

第 2 页 共 9 页

一.9 根据下面代码,找出正确的选项。D public class Test { static Object o;

public static void main(String args[]) { System.out.println(o); } }

A. 编译时将产生错误。 B. 编译时正确,运行时将产生错误。 C. 程序输出零。 D. 程序输出null。

关于类Foo的以下说法中正确的是()

A

class Foo {

static void alpha() { /* more code here */ } void beta() { /* more code here */ } }

A. 在alpha()中可以直接调用beta(); B. 在beta()中可以直接调用alpha();

C. 在其中任一个方法中均可以直接调用另一个方法 D. 在其中任一个方法中均不可以直接调用另一个方法

一.10 关于下面数组定义的正确说法是?D String[][] s = new String[10][]; A. 数组s定义不合语法 B. s是10×10的2维数组 C. s数组的所有元素都是\"\" D. s是10个数组的数组 一.11 下列程序的正确输出是。A

public static void main(String[] args) {

Scanner scanner = new Scanner(\"this is one that is two\");

scanner.useDelimiter(\" is\");

while(scanner.hasNext()) {

System.out.print(scanner.next()); }

第 3 页 共 9 页

}

A. this one that two C. thone that two

B. th one that two

D. this is one that is two

改错题(20分)

说明:写出每段代码的错误原因并改正错误,每小题4分,说明原因和改正各2分。

1. class First { }

import java.io.*; package mypackage; class Second { }

2. class A {

String name;

public A(String s) { name = s; } }

class B extends A { int id;

public B (int i) { id = i; } }

3. public class B extends A {

final void increase() { value += 2; } }

class A {

int value = 0;

final void increase() { value += 1; } }

第 4 页 共 9 页

一、程序阅读题(20分)

说明:阅读下面程序并写出它们的输出结果,每小题5分。 1. 程序如下:

class Base {

public Base() {

System.out.println(\"What a pleasure!\"); }

public Base(String s) {

this(); //调用上面的public Base() ??? System.out.println(\"I am \" + s + \"!\"); } }

public class Child extends Base {

public static void main(String args[]) { Child t = new Child(\"Mike\"); }

public Child(String s) { super(s); System.out.println(\"How do you do?\"); }

public Child() {

this(\"I am Tom\"); } }

E:\\shiyan\\others>java What a pleasure! I am Mike!

How do you do?

第 5 页 共 9 页

2. 程序如下:

class DivTest {

public static void main(String[] args) { int r, n, d; n = 10; d = 0; try {

r = n / d;

System.out.println(\"r=\" + r); } catch(ArithmeticException e) {

System.out.println(\"发生除数为0的异常!\"); } finally {

System.out.println(\"除法运算完毕!\"); }

System.out.println(\"程序运行结束!\"); } }

二、应用设计题(6分)

下面是某公司人事管理系统进行分析过程中发现的部分类,请找出它们之间的关系,用UML的类图描述:

雇员、固定雇员、临时雇员、经理、促销员(临时)

三、程序设计题(24分)

第 6 页 共 9 页

说明:按照题目要求编写下面两段程序。 1. 编写一个完整的Java Application 程序。包含类Person、Student、TestStudent,

具体要求如下:(14分) ⑴ 类Person: ① 属性

name:String对象,表示一个人姓名 sex:char类型,用来表示性别 id:String对象,表示身份证号 phone:String对象,表示联系电话 email:String对象,表示E-mail地址 ② 方法

Person(String name, char sex, String id):构造函数 String getId():获取身份证号

void setEmail(String email):设置E-mail地址 void setPhone(String phone):设置联系电话

String toString():返回个人的各项信息,包括姓名、性别等上述属性 ⑵ 类Student:

从Person类派生,增加了以下属性和方法: ① 属性

sNo:long类型,表示学生的学号

sClass:String对象,表示学生的班级 ② 方法

Student(long sNo, String name, char sex, String id):构造函数 setClass(String sClass):设置学生的班级信息

String toString():返回学生的各项信息,包括学号、班级、姓名等上述属性

⑶ 类TestStudent作为主类要完成测试功能

① 用以下信息生成一个Student对象aStudent 姓名: 杨过 性别: 男

身份证号: 22033198807070333 学号: 2004002

② 设置E-mail: yangguo@zjtvu.edu.cn 设置联系电话: 88078549

③ 输出对象aStudent的各项信息

public class testStudent{

第 7 页 共 9 页

public static void main(String [] x){ Student astudent=new Student(2004002,\"杨过',\"22033198807070333\");

astudent.setEmail(\"yangguo@zjtvu.edu.cn\"); \男

astudent.setphone(\"88078549\"); String info=astudent.toString(); System.out.println(info); } }

/*********************************/ class Person{

String name; char sex; String id; String phone; String email;

Person(String name, char sex, String id){ this.name=name; this.sex=sex; this.id=id; }

public String getID(){ return id; }

public void setEmail(String email){ this.email=email; }

public void setphone(String phone){ this.phone=phone; }

public String toString(){ return \"这个人的\"+name+\" ,\"+sex+\" ,\"+id+\" ,\"+phone+\" ,\"+email; } }

/************************************/ class Student extends Person{

第 8 页 共 9 页

信息\\n

long sNO;

String sClass;

public Student(long sNo, String name, char sex, String id){

super( name, sex, id); //注意这里 this.sNO=sNO; }

public void setClass(String sClass){ this.sClass=sClass; }

public String toString(){ return \"这个学生的信息:\\n\\n姓名 \"+name+\" \\n性别 \"+sex+\" \\n身份证 \"+id+\" \\n电话号码 \"+phone+\" \\n邮箱 \"+email; } }

求多个圆形面积之和。(10分)

具体要求如下:

⑴ 定义一个名为Shape的接口,其中声明一个返回值为double的无参方法getArea()。

⑵ 定义一个圆形(Circle)类实现上面的Shape接口,有一个double类型的属性半径(radius)和两个构造方法。其中,一个无参构造方法设置半径为0,另外一个有参构造方法根据参数设置半径,如果参数小于0则强制设置为0。

⑶ 编写一个类Test,在里面编写main方法,将数组{\"12\\"123\\"1ab\\"\中的值转换为double类型作为半径,创建相应个数的圆。在类型转换的过程中需作相应的异常处理,如果转换出错,提示并使用无参构造方法创建圆。最后计算所有圆的面积之和并输出。

第 9 页 共 9 页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务