2010-2011学年第二学期《Java高级程序设计》试题A
一、 选择题,答案写在下面表格中(每题1分共15分)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 专业年级及班级 姓名 学号 1、鼠标单击列表中某个选项事件的相关接口是( ) A、 ListActionListener B、ListSelectionListener C、ActionListener D、SelectionListener 2、在以下Swing的类中,属于容器的是( )
A、JApplet B、JButton C、JTextArea D、JMenu
3、要从文件\文件中读出第10个字节到变量C中,下列哪个方法适
合? ( )
A、FileInputStream in=new FileInputStream(\in.skip(9); int
c=in.read();
B、FileInputStream in=new FileInputStream(\in.skip(10); int
c=in.read();
C、FileInputStream in=new FileInputStream(\
D、RandomAccessFile in=new RandomAccessFile(\in.skip(9); int c=in.readByte();
4、下列叙述中,错误的是 ( )
A、File类能够存储文件 B、File类能够读写文件
C、File类能够建立文件 D、File类能够获取文件目录信息 5、以下关于线程互斥和同步的叙述中,正确的是( )
A、多线程互斥使用各自资源的程序段,在操作系统中称为临界段 B、临界段的作用是使某线程能够使用其它线程的资源 C、可以使用notify()方法通知等待线程结束等待 D、线程的互斥和同步可以很好地解决死锁问题
6、利用继承Thread 类实现多线程,在Thread 的子类中,下列那个方法必须被
实现. ( )
A、 run() B、 start() C、Thread() D、sleep() 7、读以下代码:
public static void main(String[] args){ Socket [] sockets=new Socket[1024]; point =0; try{
ServerSocket serverSocket=new ServerSocket(9700);
while(true&&point <1024){
sockets[point&#43;&#43;]&#61;serverSocket.accept();
System.out.println(\ } }
catch(Exception e){ } }
对于以上代码描述正确的是( )
A 、该代码建立一个服务器,并且监听9700 端口,可以连接1024 个客户端
B、该代码建立一 个客户端,对同一服务器进行了1024 次连接
C 、该代码建立一个客户端,使用9700 端口连接到1024 个服务器上 D、该代码建立一个服务器,对一个客户端进行了1024 次连接.
8、某程序利用网址参数创建URL对象url&#xff0c;接着希望利用对象url获得
URLConnection对象&#xff0c;则这个url对象要调用的方法是( ) A&#xff0e;connection() B&#xff0e;URLConnection() C&#xff0e;getConnection() D&#xff0e;openConnection()
9、实现下列哪个接口可以对JTextField对象的事件进行监听和处理&#xff1f;( )
A、ActionListener B、FocusListener C、MouseMotionListener D、WindowListener
10、获取InetAddress对象的域名所用到的方法是( )
A、getByName() B、getHostAddress() C、getLocalHost() D、getHostName()
11、在编写访问数据库的Java程序时&#xff0c;ResultSet对象的作用是( )
A、建立新数据库连接 B、用来表示与数据库的连接 C、在指定的连接中处理SQL语句 D、存储查询结果 12、那个关键字可以对资源加锁互斥( )
A、 serialize B、 static C、 Synchronized D、Final
13、程序如果要按行输入输出文件的字符流&#xff0c;最合理的方法是采用( )
A、BufferedReader和BufferedWriter B、InputStream和OutputStream C、FileReade和FileWriter D、File_Reader和File_Writer 14、监听事件和处理事件( ) A、都由Listener完成 B、都由相应事件Listener处登记过的构件完成 C、由Listener和构件分别完成 D、由Listener和窗口分别完成
15、在编写访问数据库的Java程序中&#xff0c;要用到DriverManager类。该类的作用是( )
A、存储查询结果 B、处理与数据库的连接
郑州轻工业学院 / 学年 第 学期 试卷 装 订 线 第 1 页/共 4 页 节 约 用 纸 两 面 书 写
C、在指定的连接中处理SQL语句
2、以下是生成菜单项对象&#xff0c;以及菜单项选择事件处理方法的部分代码。要D、处理驱动程序的加载和建立数据库连接 求当菜单项singingItem被选中时&#xff0c;在文本框text中输出“唱歌菜单项被选二、 填空(每空2分&#xff0c;共20分)
中&#xff01;”的字样。 ……
1、当线程使用完临界段后&#xff0c;为了使等待的线程恢复工作&#xff0c;需要调用的方法
SingingItem&#61;new_______ _(&#xff02;唱歌&#xff02;)&#xff1b;//生成菜单项对象 是__________。
……
2、设已知服务器的IP地址和端口号&#xff0c;要创建一个套接字对象&#xff0c;支持这个要
public void actionPerformed(ActionEvent e){
求的类是__________。
if(e.getSource()&#61;&#61;singingItem)
3、当用户点击命令按钮JButton时&#xff0c;该按钮出发的___________ 事件&#xff0c;我们
text.setText(e.________()&#43; &#xff02;菜单项被选中!&#xff02;)&#xff1b; 编程时需要给该组件进行事件注册&#xff0c;并对ActionListener中的__________} 方法进行重载
3、以下定义的类shareDataManager用于管理多个线程共享数据data。一些线4、创建一个具有10行45列的多行文本区域对象ta的语句为&#xff1a; 程要减少data&#xff0c;另一些线程要增加data。由于data不可以是负值&#xff0c;修改data 的方法对这些线程来说不仅要互斥&#xff0c;还要同步。类提供一个方法modiData()5、使用单选按钮的方法是将一些单选按钮用_________对象分组&#xff0c;使同一组
供修改data的线程调用&#xff0c;该方法在data修改结束后&#xff0c;应通知其它等待进入内的单选按钮只允许一个被选中。
这个方法的线程。
6、Java语言为处理鼠标事件提供两个接口&#xff1a;_________接口和
class ShareDataManager{ MouseMotionListener接口。
int data&#61;0;
7、在Swing中&#xff0c;面板有两种&#xff0c;一种是JPanel&#xff0c;另一种是_________。
________ void modiData(int delta){
8、在实现接口ActionListener的方法actionPerformed()中&#xff0c;常用的有两个
if(delta&#xff1e;&#61;0){
获得事件源的方法&#xff0c;它们是getActionCommand()和_________。 data&#43;&#61;delta; 9、BufferedWriter类是提供缓冲式输出的类。程序需要先创建_________对象&#xff0c;}else {
再利用这个对象创建BufferedWriter对象。
while(data &#xff1c;delta){
三、把下列程序代码补充完整(每空2分&#xff0c;共30分)
try{System.out.println(&#xff02;发生等待&#xff01;&#xff02;)&#xff1b;
1、方法readByURL()的功能是已知网址&#xff0c;创建URL对象&#xff0c;设置网络连接&#xff0c;}catch(InterruptedException e){ } 获取网址上的内容并显示。其中获取网址上的内容并显示的代码已被省略。 }
public void readByURL(String urlName){ data&#61;data-delta; try{
}
URL url&#61;new URL(urlName)&#xff1b;
_________ ; URLConnection tc&#61;url._________&#xff1b;
} InputStreamReader in&#61;new InputStreamReade(tc. )&#xff1b; } BufferedReader dis&#61;new BufferedReader(in)&#xff1b; 4、某按钮的监视器方法actionPerformed()实现将文本区t1中的内容写入到文 String inLine&#xff1b;
本文件myText.txt中。
......&#xff0f;&#xff0f;这里的代码实现逐行输入网址上的内容并显示 public void actionPerformed(ActionEvent e){ dis.close()&#xff1b;
try {
}catch(MalformedURLException e){e.printStackTrace()&#xff1b;} int n &#61; t1.getText().length(); catch(IOException e){ e.printStackTrace()&#xff1b;) byte buffer[]&#61;new byte[n];
}
String str&#61;t1. ; //获取文本内容
第 2 页/共 4 页 节 约 用 纸 两 面 书 写
线 订 装 卷试 线 学号 期 学 名 第姓 订年 学 / 院级学班 工业级及装轻年州业郑专 buffer&#61;str. ; //转换为字节数组 按钮&#xff0c;数字加5&#xff0c;初始值为0。(本小题10分)
FileOutputStream wf&#61;new (\
wf. write( ); //将内容写到文件中 wf.fush();
}catch (IOException ioe){ t1.setText(ioe.toString()); } } }
5、编写一个程序实现把1到10的平方保存到名字为temp.dat的文件中&#xff0c;然 后再修改6的平方值为-36&#xff0c;利用随机文件的读写实现&#xff0c;把下面的代码补充 完整
import java.io.*;
public class testRandom {
public static void main(String args[]) {
try{ RandomAccessFile rf &#61;new_____ ________; for(int i &#61; 0; i <10; i&#43;&#43;) _______________; rf.close();
rf &#61; new RandomAccessFile(\ rf.____________;
rf.________________; rf.close();
rf &#61; new RandomAccessFile(\ //读模式 for(int i &#61; 0; i <10; i&#43;&#43;)
System.out.println(\ rf.close();
}catch(FileNotFoundException e) {System.out.println(e); System.exit(-1);
}catch(IOException e) {System.out.println(e); System.exit(-2); }}} }
四、编程题(共3题&#xff0c;共35分)
1&#xff0e;编写程序实现下图所示的界面&#xff0c;并为按钮添加事件处理&#xff0c;要求每按一下
第 3 页/共 4 页 节 约 用 纸 两 面 书 写
2、编写一个客户/服务器程序求面积&#xff0c;服务器端的功能是计算圆的面积。客户端将圆的半径发送给服务器端&#xff0c;服务器端计算得出的圆面积将发送给客户3、编写数据库连接类&#xff0c;实现数据库的连接&#xff0c;并从用户表userInfo中查找用户名为“admin”密码是“123456”的用户是否存在&#xff0c;给出相应的提示信息(提示&#xff1a;端&#xff0c;并在客户端显示(本小题12分)。 数据库的名为library&#xff0c;用户表名为userInfo,包含username和userpassword两 个字符型字段&#xff0c;采用JDBC-ODBC方式连接数据库&#xff0c;驱动的名字为&#xff1a; \&#xff0c;数据源的名字为&#xff1a;lib)(本小题13分)
第 4 页/共 4 页
节 约 用 纸 两 面 书 写
线 订 装