编程题:
1.(8分)
完成一个比较灵活的工厂类。这个工厂类从一个属性配置文件中读取配置信息,并提供一个得到对象的方法。
例如,有下面这个obj.properties文件
person=cd.itcast.test.Person
user=cd.itcast.test.User
employee=cd.itcast.test.Employee
该工厂类有一个方法public static Object getBean(String name),在代码中调用如下:
Personp=(Person)Factory.getBean("person");
Useru=(User)Factory.getBean("user");
2.(12分)
假设线程系统中有两条线程,这两条线程分别表示存款者和取款者,现在有一个特殊的要求:
(1)系统要求存款者和取钱者不断的重复全款,取款操作,而且要求每当存款者讲钱存入账户,取钱者就立即取这笔钱.
(2)不允许存款者连续多次存款,不允许取款者连续多次取款.
使用3种方式完成这个小例子;
3.(6分)
定义一个类完成判断字符串不为空,String 和 Date之间的转换方法
以及包含一个判断字符串是以什么结尾的方法[endWith(String str,String suffix)].
4.(8分)
学生有名字,年龄,成绩字段
把多个学生放进一个TreeSet集合;
(1).实现先按学生的成绩升序排序,若成绩相等再按年龄升序排序,若年龄相等再按照名字升序排序;
(2).实现先按学生的成绩逆序排序,若成绩相等再按年龄逆序排序,若年龄相等再按照名字逆序排序;
5.(6分)
利用LinkedList 编写一个用于存取字符串的堆栈类MyStringStack,它实现了以下MyStringStackIFC接口:
public interface MyStringStackIFC{
String pop(); /** 取出堆栈尾部的一个字符串 */
voidpush(String str); /** 向堆栈尾部加入一个字符串 */
}