21. 下面那个关于事件监听器的描述是正确的?
A. 一个组件可以注册多个事件监听器.
B. 一个组件只能注册一个事件监听器.
C. 一个监听器可以接收和处理来自多个组件的事件.
D. 一个监听器只能接收和处理来自一个组件的事件.
22. 下面的类哪些不是Java中的容器类?
A. ScrollPane
B. JLabel
C. Scrollbar
D. Dialog
网络通讯测试
23. 下面的类中哪些被用来实现Tcp/Ip协议的客户端和服务器端程序?
A. ServerSocket
B. Server
C. Socket
D. DatagramPacket
E. DatagramSocket
24. 下面关于TCP和UDP的描述正确的是:
A. TCP连接发送数据之前必须保证网络连接已经成功建立
B. UDP连接发送数据之前必须保证网络连接已经成功建立
C. ServerSocket类建立的是TCP连接
D. DatagramSocket类建立的是UDP连接
(二) 问答题(34分)
数据库基础知识
1、 分别写出数据库逻辑结构中各种不同对象的作用(表,视图,序列,存储过程,索引,主键,外键,约束,触发器)(10分)
SQL问答题
2、 根据要求写出Sql查询语句(10分)
表结构:
1、 表名:g_cardapply
字段(字段名/类型/长度):
g_applyno varchar 8;// 申请 单号(关键字)
g_applydate bigint 8;//申请日期
g_state varchar 2;//申请状态
2、 表名:g_cardapplydetail
字段(字段名/类型/长度):
g_applyno varchar 8;//申请单号(关键字)
g_name varchar 30;//申请人姓名
g_idcard varchar 18;//申请人身份证号
g_state varchar 2;//申请状态
其中,两个表的关联字段为申请单号。
题目:
1、 查询身份证号码为440401430103082的申请日期
Select applay. g_applydate
From g_cardapply applay, g_cardapplydetail detail
Where applay. g_applyno=detail. g_applyno
And detail. g_idcard=’ 440401430103082’
2、 将身份证号码为440401430103082的记录在两个表中的申请状态均改为07
Update g_cardapply apply, g_cardapplydetail detail set applay.g_state=’07’, detail.g_state=’07’ Where applay. g_applyno=detail. g_applyno
And detail. g_idcard=’ 440401430103082’
3、 删除g_cardapplydetail表中所有姓李的记录
Delete from g_cardapplydetail where g_name like ‘李%’
Java API运用
3、 请写出你所知道的Java API中所提供的数据结构模型(例如Vector),并指出各数据模型在存储结构上和使用上有什么不同。(7分)
4、 指出JDBC中三种不同类型的Statement(Statement、PreparedStatement、CallableStatement)的用途分别是什么。(7分)
(三) 读程序写结果(10分)
写出下面程序的运行结果,下面程序有些可能根本无法通过编译,如果无法编译通过,请指出错误原因。
1、写出下面程序的运行结果:(3分)
public class Test {
public static void changeStr(String str){
str="welcome";
}
public static void main(String[] args) {
String str="1234";
changeStr(str);
System.out.println(str);
}
}
2、写出下面程序的运行结果(5分)
class Foo{
public static void main(String args[]){
int x=4,j=0;
switch(x){
case 1:j++;
case 2:j++;
case 3:j++;
case 4:j++;
case 5:j++;
default:j++;
}
System.out.println(j);
}
}
(四) 代码查错(10分)
1、指出下面程序的运行错误(4分)
public class OutClass{
private int varInOuterClass = 0;
public OutClass(){
}
public void callOutter(){
int varInOuterMethod = 0;
class InnerClass{
private int varInInnerClass = 0;
public InnerClass(){
}
public void print(){
System.out.println("varInOuterClass" + varInOuterClass);
System.out.println("varInInnerClass" + varInInnerClass);
System.out.println("varInInnerClass" + varInOuterMethod);
}
}
InnerClass inner = new InnerClass();
inner.print();
}
public static void main(String[] args){
OutClass out = new OutClass();
out.callOutter();
}
}
2、指出下面程序的运行错误(3分)
public class Something {
public static void main(String[] args) {
Something s = new Something();
System.out.println("s.doSomething() returns " + doSomething());
}
public String doSomething() {
return "Do something ...";
}
}
(五) 编程题(10分)
算法设计能力测试(10分)
1、编写一个类,该类封装了一元二次方程共有的属性和功能,即该类有刻画方程系数的3个成员变量以及计算实根的方法。
方程: 求根方法为 要求:该类的所有对象共享常数项。