JAVA高级程序设计模拟卷.docx
- 文档编号:24090142
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:16
- 大小:50.79KB
JAVA高级程序设计模拟卷.docx
《JAVA高级程序设计模拟卷.docx》由会员分享,可在线阅读,更多相关《JAVA高级程序设计模拟卷.docx(16页珍藏版)》请在冰豆网上搜索。
JAVA高级程序设计模拟卷
郑州大学软件技术学院《JAVA程序设计》课程试题
2009-2010学年第二学期(模拟卷)
(适用专业:
**********考试时间:
120分钟)
题号
一
二
三
四
五
六
七
总分
分数
注意:
请将所有答案写在答题纸上。
合分人:
复查人:
一、单项选择:
(每题2分,共40分)
分数
评卷人
1、class和.java文件的含义分别是:
A、Java字节码文件和源文件;B、Java可执行文件和源文件;
C、Java源文件和字节码文件;D、Java字节码文件和Java平台配置文件;
2、关于超类和子类,下列说法不正确的是:
A、子类的对象可以视为其超类的对象
B、包含子类对象的引用的超类类型变量会调用超类方法
C、变量可以调用的方法必须是该变量类型的成员
D、将超类对象的引用赋值给子类类型的变量会产生编译错误
3、抽象类的子类还是抽象类吗?
A、不是抽象类
B、如果子类实现了某个抽象方法,则不再是抽象类
C、还是抽象类
D、如果子类实现了所有的抽象方法,则不再是抽象类
4、以下关于接口的陈述哪个是错误的?
A、接口中定义的方法全是public和abstract的
B、接口中定义的变量均为publicstaticfinal的
C、接口中定义的方法的修饰符abstract可以省略
D、接口中可以包含构造函数
5、如果你不希望一个类被继承,则在说明它时需使用哪个修饰符?
A、publicB、缺省C、finalD、protected
6、在绘制简单图形或字符串时,以下哪个可以将颜色正确设置为红色:
A、g.setColor(Color);B、g.setColor(255,0,0);
C、g.setColor(newColor(1,0,0));D、g.setColor(newColor(1.0f,0.0f.,0.0f));
7、以下各项中不属于事件处理范畴的是:
A、用户点击菜单中的某项
B、用户关闭图形界面程序
C、修改文本标签中的文字
D、用户点击按钮
8、你可使用下面哪组代码在一个的按钮(JButton)组件上显示图象(Display.gif):
A、IconiImage="Display.gif";
JButtonbtn=newJButton(iImage);
B、JButtonbtn=newJButton("Display.gif");
C、IconiImage=newImageIcon("Display.gif");
JButtonbtn=newJButton(iImage);
D、IconiImage=newIcon("Display.gif");
JButtonbtn=newJButton(iImage);
9、下面哪个方法可用来获知发生事件(event)的组件(component)?
A、actionPerformed()B、getSource()
C、super()D、getContentPane()
10、以下说法正确的是:
A、任何组件都可成为事件源
B、不同的组件不可能产生相同类型的事件
C、不同的事件只能由特定的实现该种事件监听接口和事件处理方法的类来处理
D、事件监听器对象只需要被创建,无须注册给某个组件,就可以响应该组件产生的事件
11、用户在下拉列表(JComboBox)的选项中选中某个选项时产生的事件类型是:
A、ItemEventB、ActionEventC、ListSelectionEventD、FocusEvent
12、一个窗体的内容面板(通过getContentPane()获得)的缺省布局管理器是什么:
A、BorderLayoutB、GridLayoutC、CardLayoutD、FlowLayout
13、以下异常中,不属于“不受控异常”的是:
A、IndexoutofBoundsException越界异常
B、IOExceptionI/O异常
C、ArithmeticException算术异常
D、NullPointerException使用未初始化的引用变量
14、有哪些方法创建线程:
A、只能通过实现Runnable接口来得到线程类
B、只能由thread类派生而得到线程类
C、继承thread类或者实现Runnable接口
D、将thread对象作为自定义类的一个成员变量
15、关于线程,下列说法正确的是:
A、调用start()方法,启动一个线程的时候,该线程会立刻得到执行
B、调用sleep(1000)方法,使当前线程进入休眠状态,但当前线程并不会让出CPU的使用权
C、调用wait()方法让线程暂停,直到另一个线程通过notify或notifyAll方法提醒它重新进到线程队列中排队等待CPU资源
D、一个线程不能被提前强制性地终止
16、下列哪个流可以直接写入一个int类型的整数:
A、FileOutputStreamB、DataOutputStream
C、BufferedWriterD、ObjectInputStream
17、以下关于捕获异常的原则中,错误的是:
A、Exception类必须出现,而且必须作为catch块中第一个匹配的类
B、先列出具体的异常类,后列出通用的异常类
C、先列出子类,后列出父类
D、RuntimeException可以不被捕获,Java会自动处理运行期的异常
18、以下语句中哪一个可以创建在端口2008监听的服务器:
A、Socketserver=newSocket(2008);
B、Socketserver=newServerSocket(2008);
C、ServerSocketserver=newSocket(2008);
D、ServerSocketserver=newServerSocket(2008);
19、以下哪个类具有获得你正在使用的计算机的IP地址的功能:
A、.ServerSocketB、java.lang.InetAddress
C、.InetAddressD、.Socket
20、局部变量能否和成员变量重名?
A、可以,局部变量可以与成员变量重名,这时可用“this”来指向成员变量
B、可以,这时可用“local”关键字来指向局部变量
C、不能,局部变量不能与成员变量重名
D、不能,在一个类中不能有重名变量,不管是成员变量还是函数中的局部变量
二、读程序,按要求作答:
(共50分)
分数
评卷人
1、写出下列程序的输出结果(4分)。
importjava.io.*;
publicclassP2_1{
publicstaticvoidmain(String[]args)
{
int[]myArray=newint[3];
try
{
for(inti=0;i<=myArray.length;i++)
{
myArray[i]=i*3;
System.out.println("myArray数组的第"+i+"个元素的值是"+myArray[i]);
}
}
catch(ArrayIndexOutOfBoundsExceptione)
{
System.out.println("数组下标越界。
");
}
finally
{
System.out.println("程序执行完毕。
");
}
}
}
2、先将程序补充完整(每空3分),后写出输出结果(3分)(共9分)。
publicclassPeople
{
privateStringname;
privatebooleansex;
privateintage;
publicPeople(Stringn,booleans,inta)
{
name=n;
sex=s;
age=a;
}
publicvoiddisp()
{
System.out.print("姓名:
"+name+"性别:
"+sex+"年龄:
"+age);
}
}
publicclassStudentextendsPeople
{
privateStringdepartment;
publicStudent(Stringn,booleans,inta,Stringdep)
{
(1);//调用超类的构造函数
department=dep;
}
publicvoiddisp()
{
(2);//调用超类的同名的方法
System.out.println("院系:
"+department);
}
publicstaticvoidmain(Stringargs[])
{
Peoplep=newStudent("张华",true,20,"软件学院");
p.disp();
}
}
3、解释标号1、标号2、标号3语句的含义(每句2分,共6分)。
importjavax.swing.*;
importjava.awt.*;
publicclassSimpleFrameextendsJFrame
{
publicstaticvoidmain(String[]args)
{SimpleFrameframe=newSimpleFrame();
标号1----frame.setSize(300,200);
标号2----frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
标号3----frame.show();
}
}
4、
(1)解释标号1、标号2、标号3语句的含义(每句2分);
(2)Bank类的成员变量money被线程zhang和cheng所共享吗?
(2分)
(3)写出程序运行后的输出结果(假定先启动的线程先获得执行权,两个线程轮流获得执行权且在休眠前不会被中断)(3分)。
(共11分)
publicclassP2_4
{
publicstaticvoidmain(Stringargs[])
{
Bankbank=newBank();
bank.setMoney(60);
bank.zhang.start();----标号1
bank.cheng.start();
}
}
classBankimplementsRunnable
{
privateintmoney=0;
Threadzhang,cheng;
Bank()
{
zhang=newThread(this);
zhang.setName("会计");----标号2
cheng=newThread(this);
cheng.setName("出纳");
}
publicvoidsetMoney(intmount)
{
money=mount;
}
publicvoidrun()
{
while(true)
{
money=money-20;
if(Thread.currentThread()==zhang)
{
System.out.println("我是"+zhang.getName()+",现在有"+money+"元");
if(money<=40)
return;
}
elseif(Thread.currentThread()==cheng)
{
System.out.println("我是"+cheng.getName()+",现在有"+money+"元");
if(money<=0)
return;
}
try{
Thread.sleep(800);----标号3
}
catch(InterruptedExceptione)
{
}
}
}
}
5、
(1)解释标号1、标号2、标号3语句的含义(每句3分);
(2)简要说明该程序的功能(3分)。
(共12分)
服务端程序如下:
importjava.io.*;
import.*;
publicclassServer
{
publicstaticvoidmain(Stringargs[])
{
ServerSocketserver=null;
Socketyou=null;
DataOutputStreamout=null;
DataInputStreamin=null;
try{
server=newServerSocket(4331);----标号1
}
catch(IOExceptione1)
{
System.out.println("ERRO:
"+e1);
}
try{
you=server.accept();----标号2
in=newDataInputStream(you.getInputStream());
out=newDataOutputStream(you.getOutputStream());
while(true)
{
intm=0;
m=in.readInt();
out.writeUTF("你说的数对应的字符是:
"+(char)m);
System.out.println("服务器收到:
"+m);
Thread.sleep(500);
}
}
catch(IOExceptione)
{
System.out.println("ERRO"+e);
}
catch(InterruptedExceptione){}
}
}
客户端程序如下:
importjava.io.*;
import.*;
publicclassClient
{
publicstaticvoidmain(Stringargs[])
{
Strings=null;
Socketmysocket;
DataInputStreamin=null;
DataOutputStreamout=null;
inti=65;
try{
mysocket=newSocket("127.0.0.1",4331);
in=newDataInputStream(mysocket.getInputStream());----标号3
out=newDataOutputStream(mysocket.getOutputStream());
out.writeInt(i);
while(i<=90)
{
i++;
s=in.readUTF();
out.writeInt(i);
System.out.println("客户收到:
"+s);
Thread.sleep(500);
}
}
catch(IOExceptione)
{
System.out.println("无法连接");
}
catch(InterruptedExceptione){}
}
}
6、已知系统中存在书籍数据库books.mdb,且已将其配置为ODBC数据源,数据源的名称为MyDB,该数据库中有表authors(有三个字段authorID,firstName,lastName)。
(1)解释标号1的含义(3分)
(2)将空白处补充完整(3分)
(3)解释整个程序完成的功能(2分)。
(共8分)
importjava.sql.*;
publicclassP2_6{
publicstaticvoidmain(String[]args){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");----标号1
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
try{
Connectioncon=DriverManager.getConnection(
(1));
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("select*fromauthors");
while(rs.next())
{System.out.println("ID:
"+rs.getInt
(1)+"\t"+
"FN:
"+rs.getString
(2)+"\t"+"LN:
"+rs.getString(3));
}
rs.close();
stmt.close();
con.close();
}catch(SQLExceptione)
{System.out.println("SQLException:
"+e.getMessage());}
}
}
三、编程题,请写出完整的程序,按要求实现下列GUI程序(共10分)
分数
评卷人
(1)初始界面如下图1所示(窗体大小为600×200,布局管理器为流式布局管理);
(2)当用户输入“学号”和“姓名”后点击“确定”按钮,能在文本区中显示用户输入的信息,如图2所示;
(3)当用户点击“取消”按钮后,回复到初始状态(图1)。
图1
图2
郑州大学软件技术学院《JAVA程序设计》课程试题
答题纸
一、单项选择
题号
答案
题号
答案
1~5
6~10
11~15
16~20
二、读程序,按要求作答
1、
2、
(1)
(2)
输出结果:
3、标号1:
标号2:
标号3:
4、
(1)标号1:
标号2:
标号3:
(2)
(3)
5、
(1)标号1:
标号2:
标号3:
(2)
6、
(1)标号1:
(2)空白处应填写:
(3)
三、编程题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 高级 程序设计 模拟
![提示](https://static.bdocx.com/images/bang_tan.gif)