2017年10月高等教育自学考试《Java语言程序设计(一)》试题04747 联系客服

发布时间 : 星期六 文章2017年10月高等教育自学考试《Java语言程序设计(一)》试题04747更新完毕开始阅读4ac5e96c185f312b3169a45177232f60dccce7c2

2017年10月高等教育自学考试《Java语言程序设计(一)》试题

课程代码:04747

一、单项选择题

1.编译Java应用程序源程序会产生字节码文件,字节码文件的扩展名为(B) A..java B..class C..html D..exe 2.表达式-1>>1的值是(B) A.232-1 B.-1

C.216-1 D.2147483647

3.为类C定义一个int类型的变量x,使得只有同类和同包的其它类能使用代码C.x就可引用它,则定义x的形式为(A)

A. static int x; B. public int x; C. protected static int x; D. public static int x;

4. 设有字符串变量String s1=\则以下表达式的值为true(D)

A. s1.compareTolgnoreCase(s2) B. s1.compareTo(s2) C. s1==s2 D. s1.equals(s2) 5.在以下Swing的类中,属于容器的是(A)

A. JDialog B. JButton C. JTextArea D. JList

6.在以下叙述中,属于CardLayout布局特点之一的是(D) A.多个组件从上到下排列 B.容器只能放置一个组件 C.容器被分成网格状 D.多个组件拥有同一个显示空间

7.Java组件可以使用抽象类Toolkit提供的静态方法获得一个缺省的Toolkit对象,这个静态方法是(C)

A. getlmage(String name) B. getlmage(URL ur1) C. getDefaultToolkit() D. getToolkit()

8.一个线程要从运行状态自动进入就绪状态,需要使用的方法是(C) A.notify() B.sleep() C.yield() D.wait()

9.程序将创建输入流的代码写在try-catch语句结构中,其目的是捕获并处理(C) A.文件太长异常 B.打开文件太多异常 C.文件找不到异常 D.文件含有病毒异常

10.在Java语言中,用来处理驱动程序的加载和建立新数据库连接的类是(A)

A. DriverManager B. Statement C. Connection D. ResultSet

二、填空题

11.Java源文件中最多只能有一个 public 类,其他类的个数不限。 12.Java语言使用的字符集是 Unicode 。

13.在Java语言中,package语句必须出现在源程序文件的 起始行 。 14.以下代码的输出结果是 45 。 Integer x = 234567;

System.out.println(x.toString().substring(2,4));

15.在Java程序中,设置文本区对象myArea能自动换行的语句是 myAreasetLineWrap(true); 。 16.Java语言为处理鼠标事件提供了多个接口,其中能处理鼠标拖动和鼠标移动两种事件的接口是 MouseMotionListener 。

17.Graphics2D类定义了多种图形的状态属性,其中用来控制线条的宽度、笔形样式、线段连接方式或短划线图案的属性是 stroke 。

18.当线程A使用某个对象,而此对象又需要线程B修改后才能符合A线程继续执行的要求,这时线程A就要等待线程B完成修改工作,这种线程相互等待称为 线程的同步 。

19.使用RandomAccessFile类的 writeChar() 方法可以向文件写入一个字符。

20.使用语句对象作数据库查询,能获得带游标的结果集ResultSet对象,此对象中将游标移到最后一行之后的方法是 afterLast() 。

三、简答题

21.请写出“条件x=2与y=3有且只有一个成立”的表达式。 答:x==2&&y!=3||x!=2&&y==3 (或 x==2!=y==3)

22.以下代码定义了一个类,请用注释中的编号指出其中有错的代码行。 class Test22{int x;

Test22(int x){this.x=x;}) //1 Test22(){Test22(10);} //2 int f(){ //3

inta=1; x=a; //4 void g(){ int y; //5 y=a+x; //6 } }

答:2、3、6

23.请写出在java.awt.event中,用来检测并对事件做出反应的模型所包括的三种对象。 答:源对象、监视器对象和事件对象。

24.请写出在Java语言中,关键字synchronized的作用。

答:使用关键字synchronized定义临界段,能对共享对象的操作上锁。 25.请写出采用缓冲式输入方式,按行输入文件内容的步骤。

答:先创建FileReader对象,再利用FileReader对象创建BufferedReader对象,然后对该对象使用readLine()方法。

26.已知服务器的IP地址为host,端口号为port,请写出为客户端建立到服务器的套接字对象mySocket的代码(可能发生的例外类型为IOException)。

答:try{

Socket mySocket: new Socket(host, port); }catch(IOException e){ }

四、程序填空题

27.方法int countDigitNum(int[]a,d)的功能是求己知数组a中元素值为d的个数。 static int countDigitNum(int []a, d){ int s=0;

for(int i=0; i

28.面板子类MyPanel实现在面板上放置一个单选列表框,列表框上的选项条目由创建该类对象时的参数提供。当某个选项被单击时,类的监视程序在指定的文本框中输出选中选项条目。程序将单选列表框放置于滚动面板中,并要求滚动面板的垂直滚动条总是可见。以下是类MyPanel的定义。

class MyPanel extends JPanel implements ListSelectionListener { JList list; JTextField t~;

MyPanel(String listItems[], JTextField tf) { this.tf = tf;

list = new JList(listitems); list.setVisibleRowCount(2);

list.setSelectionMode(ListSelectionModel. S]NGLE_SELECTlON); list. addListSelectionListener(this); JScrollPane jsp = new JScrollPane(list);

jsp.setVerticalScrollBarPolicy(JScrollPane. VERTICAL SCROLLBAR ALWAYS ); add(jsp); }

public void valueChanged(ListSelectionEvent e) { if(e.getSource0 == list) {

tf. setText(list. getSelectedValue() + \被选中\\n\ } } }

29.面板子类MyPanel实现在面板监视鼠标单击事件,当鼠标在面板上单击时,面板的背景色就会循环改变。以下是类MyPanel的定义。

class MyPanel extends JPanel implements MouseListener { int index = 0;

Color bgColorA[] -- { Color.red, Color.yellow, Color.blue }; MyPanel(){

addMouseListener(this); index = 0;

}

public void mousePressed(MouseEvent e) { } public void mouseReleased(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mouseClicked (MouseEvent e) { index = (index+1)%bgColorA.length; setBackground(bgColorA [index]); } }

30.下面小应用程序启动后自动播放声音文件open.waV。 import java. applet.*;

public class Test30 extends Applet { public void start(){

AudioClip clip=getAudioClip(getCodeBse0,\ clip play() ; } }

31.以下定义的类Godown用于管理多个线程共享产品库存量数据。类定义了让生产看线程和消费者线程共享的两个操作:生产produce(int pnum)和消费consume(int neednum)。限制生产操作和消费操作不能同时进行,也不能因生产(进库)让库存超过最大库存量maxSize,消费(出库)不能大于当前库存量cumum。为了保证生产和消费操作的完整和正确,这两个操作有互斥和同步要求。以下是管理产品库存量cumum的类Godown的代码,其中消费方法consume()没有在以下代码中列出。

class Godown {

private int maxSize = 200; private int cumum;

Godown(int num){ cumum =num; } public synchronized void produce(int pnum) { while (pnum + cumum > maxSize) {

System.out.println(\要生产的产品数量\

\超过剩余库存空余量\暂时不能执行生产任务\ try { wait() ;

} catch (InterruptedException e) { } }

cumum+=pnum;//满足生产条件,可进行生产,并生产产品入库 System.out.prmtln(\这次生产了\个产品,新的库存量是\ cumum); notifyAll() ; }