admin 管理员组

文章数量: 1184232


2024年3月13日发(作者:帕累托图spss绘制方法)

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

课程代码:04747

一、单项选择题

1.编译Java应用程序源程序会产生字节码文件,字节码文件的扩展名为(B)

A..java B..class

C..html D..exe

2.表达式-1>>1的值是(B)

A.2

32

-1 B.-1

C.2

16

-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="abc", s2=new String("abc"), 则以下表达式的值为true(D)

A. eTolgnoreCase(s2) B. eTo(s2)

C. s1==s2 D. (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;

n(ng().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.请写出在中,用来检测并对事件做出反应的模型所包括的三种对象。

答:源对象、监视器对象和事件对象。

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< ; i++){

if( a[i]==d ) s++;

}

return s;

}

28.面板子类MyPanel实现在面板上放置一个单选列表框,列表框上的选项条目由创建该类对象时的

参数提供。当某个选项被单击时,类的监视程序在指定的文本框中输出选中选项条目。程序将单选列表框

放置于滚动面板中,并要求滚动面板的垂直滚动条总是可见。以下是类MyPanel的定义。

class MyPanel extends JPanel implements ListSelectionListener {

JList list; JTextField t~;

MyPanel(String listItems[], JTextField tf) {

= tf;

list = new JList(listitems); ibleRowCount(2);

ectionMode(ListSelectionModel. S]NGLE_SELECTlON);

list. addListSelectionListener(this);

JScrollPane jsp = new JScrollPane(list);

ticalScrollBarPolicy(JScrollPane. VERTICAL SCROLLBAR ALWAYS );

add(jsp);

}

public void valueChanged(ListSelectionEvent e) {

if(rce0 == list) {

tf. setText(list. getSelectedValue() + ":被选中n");

}

}

}

29.面板子类MyPanel实现在面板监视鼠标单击事件,当鼠标在面板上单击时,面板的背景色就会循

环改变。以下是类MyPanel的定义。

class MyPanel extends JPanel implements MouseListener {

int index = 0;

Color bgColorA[] -- { , , };

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)%;

setBackground(bgColorA [index]);

}

}

30.下面小应用程序启动后自动播放声音文件。

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) {

n("要生产的产品数量"+pnum+

"超过剩余库存空余量"+ (maxSize-cumum) +", 暂时不能执行生产任务"!

try { wait() ;

} catch (InterruptedException e) { }

}

cumum+=pnum;//满足生产条件,可进行生产,并生产产品入库

("这次生产了"+pnum+"个产品,新的库存量是"

cumum);

notifyAll() ;

}

public synchronized void consume(int neednum) {

//该方法代码略

}

}

五、程序分析题

32.阅读下列程序,请写出该程序的输出结果。

class A {

private void m1 (String s) {

n(s +" Call A's m1() ");

}

public void m2(String s) {

n(s +" Call A's m2() ");

m1(s);

}

}

class B extends A {

public void m 1 (String s) {

n(s +" Call B's m1()");

m2(s);

}

}

public class Test32 {

public static void main(String[] args) {

B c = new B0;

("Child");

}

}

答:Child Call B's ml()

Child Call A's m2()

Child Call A's m1()

33.阅读下列程序,请写出该程序的输出结果。

public class Test33 {

static int biSearch(int k[], int key) {

int low = 0, high = k. length -1, mid;

while (Iow <= high) {

mid = (low+high)/2;

if (key == k[mid]) return mid;

if(key > k[mid]) low = mid+l;

else high = mid-1;


本文标签: 对象 线程 文件 生产 程序