}
}
public static void increment(Count c , int times){ c.count++; }
times++;
class Count{
public int count; Count(int c){ } Count(){
count =1; count =c;
} }
4、运行类C的输出结果是:____________________________。 class A{ } }
class B extends A{ }
public class C{ }
5、阅读下列程序写出输出结果:____________________________。 class A {
String s=\ void show(){
System.out.println(s);
21
public A(){
System.out.println(\
public B(){ }
System.out.println(\
public static void main(String[] args) { }
B b = new B();
} }
class B extends A{ String s=\ void show(){
System.out.println(s); } }
public class TypeConvert{
public static void main(String args[]){ B b1;
B b2=new B();
A a1,a2; a1=(A)b2; a2=b2;
System.out.println(a1.s); a1.show();
System.out.println(a2.s); a2.show(); b1=(B)a1;
System.out.println(b1.s); b1.show();
System.out.println(b2.s); b2.show(); } }
四、编程题(共20分)
1、设计一个时间类MyTime,包含一个构造方法,3个私有成员变量hour、minute、second以及它们相应的setter和getter方法,再加上一个转换成“XX时:XX分:XX秒”格式字符串的方法toString。
2、设计一个日期类MyDate,包含一个构造方法,3个私有成员变量year、month、day以及它们相应的setter和getter方法,再加上一个转换成“XXXX年XX月XX日” 格式字符串的方法toString。
3、设计一个FullTime类,包含一个MyTime类型的私有成员变量time以及与之相对应的setter和getter方法;一个MyDate类型的成员变量date以及与之相对应的setter和getter方法,一个构造方法,再加上一个转换成“XXXX年XX月XX日XX时:XX分:XX秒” 格式字符串的方法toString。
4、假设当前时间为2009年12月10日9点30分45秒,编写一个程序,用FullTime类设置时间为以上时间,并打印。
22
第4章 面向对象开发常用类
巩固与提高
1、选择题:
(1)下列哪些内容是异常的含义?( ) A、 程序的语法错 B、 程序编译或运行中所发生的异常事件 C、 程序预先定义好的异常事件 D 、程序编译错误
(2) 自定义的异常类可从下列哪个类继承?( ) A、 Error类 B、 AWTError C、 VirtualMachineError D、 Exception及其子集
(3)当方法遇到异常又不知如何处理时,下列哪种做法是正确的?( ) A、 捕获异常 B、 抛出异常 C、 声明异常 D、 嵌套异常 (4)如要抛出异常,应用下列哪种子句?( ) A、 catch B、 throw C、 try D、 finally (5) 对于catch子句的排列,下列哪种是正确的?( ) A、 父类在先,子类在后 B、 子类在先,父类在后
C、 有继承关系的异常不能在同一个try程序段内 D、 先有子类,其他如何排列都无关 (6) 如何将字符串转换为数值?( )
A、利用字符串对象的toString方法将字符串转换为数值
B、利用数值类的parseInt,parseDouble等方法将字符串直接转换为数值 C、利用数值类的静态方法valueOf将字符串转换为数值 D、利用数值类的静态方法intValue将字符串转换为数值 (7)下面有关集合的说法错误的是( ) A、Collection是集合层次中的根接口
23
B、List是可以包含重复的元素,是一个有序的集合 C、Set中不能包含重复的元素
D、Map中存储的是key-value对,可以包含重复的key,可以有重复的value (8)根据下列语句判断哪些表达式返回true( ) String s=\String t=\char c[]={'h','e','l','l','o'};
A、s.equals(t); B、t.equals(c); C、 s=t; D、 t==c; (9)下面哪一个是声明5个String对象的数组?( ) A、 char str[]; B、 char str[][]; C、 String str[]=new String[5]; D、String str[5]; (10)不是用于数据结构的类是( )
A、Stack类 B、 LinkedList类 C、 Vector类 D、Math类 2、编程题:
(1)用键盘向控制台输入一个E-mail地址(如:lee_java@126.com),分析该地址,获 取并输出域名(如:“126.com”)(要求:不使用StringTokenizer类,只使用String类的方法来完成)。
(2)随机生成10个100以内的整数,然后按从小到大排列打印出来。
(3)创建一个教师类Teacher,其属性有教师号teacherId、姓名name、性别sex和薪水salary;再声明三个教师对象并赋值;然后依次用Set、List、Map集合来实现对教师对象数据的存储,并输出相应教师信息。
(4)有一种数叫回文数,正读反读都一样,如12321便是一个回文数。编写一个程序,从命令行参数得到一个整数,判断该数是不是回文数。
(5)假如某项工作对身高要求较严,需要在170cm到180cm之间,如过超出范围都不符合要求。试自定义两个异常类,当应聘人员不在要求范围内将有太高或太矮的异常抛出。 (6)生成20个1到10之间的随机数存放在一个数组中,将数组元素依次取出,如果是奇数则将该数进栈,如果是偶数且栈不为空,则将栈顶元素出栈。如栈为空,将该数忽略。最后,看栈中还有多少个数,并将这些数打印出来。
24
第5章 项目需求分析
巩固与提高
1、选择题
(1) 下列哪个图形表示角色( )
A B C (2) 下列哪个图形表示A是B的泛化(A继承于B)关系
<
D
AB
AB
AB
A<
A B C D
(3) include关系是( )
A、 扩展关系 B、 包含关系 C、 泛化关系 D、 继承关系 (4) 以下选项中是对系统静态结构的图形表示,描绘的是系统的静态模型的是( )。
A、数据流图 B、状态图 C、类图 D、时序图
(5) 在UML提供的图中,( )用于描述系统与外部系统及用户之间的交互; A、用例图 B、类图 C、对象图 D、部署图 (6) 下列关于UML叙述正确的是( )。
A、UML是一种语言,语言的使用者不能对其扩展 B、UML仅是一组图形的集合
C、UML仅适用于系统的分析与设计阶段 D、UML是独立于软件开发过程的
(7) ( )用于按时间顺序描述对象间的交互。 A、网络图 B、状态图 C、协作图 D、序列图 (8) 面向对象分析与设计,简称( )。
A、OOA B、OOD C、OOC D、OOAD
(9) 现有两个用例UC1和UC2,其中UC2是一个完整的用例,可被实例化,而UC1需要UC2中的事件流才可被实例化,且UC1指定了使用UC2的精确位置,则UC1和UC2间的关系是( )。
A、 include B、 extend C、generalize D、 call (10) 协作图主要描述对象间的交互与连接,它( )。
25