自考

各地资讯
当前位置:考试网 >> 自学考试 >> 自考真题 >> 工学类 >> Java 语言程序设计(一) >> 文章内容

排行热点

全国2014年4月高等教育自学考试Java语言程序设计(一)试题_第3页

来源:考试网 [ 2014年7月7日 ] 【大 中 小】

四、程序填空题(本大题共5小题,每空2分,共20分)

27.方法void moveOddFront (int a[])的功能是将数组a中的所有奇数都移到数组的前端, 而把偶数放于所有奇数的后面,其方法是当发现是偶数时,就让该数留在原来位置, 当发现是奇数时,就与前面的第一个偶数交换。程序引入变量odd表示移动过程中 遇到的奇数个数。

void moveOddFront(int a[]){

for(int i=0, odd=0; ______;i++)

if( a[i] %2 == 1){

int t = a[odd]; a[odd]=a[i]; a[i]=t;______;

28.以下程序的界面包含一个文本区text和一个允许多选的列表list,列表的条目存于字 符串数组sports[]中,当列表发生选择事件时,事件处理程序将这次选中的所有条目 在文本区中输出。这里给出的是其中处理列表事件的方法。

public void valueChanged(________e){

if (e.getSource()==list){

text.setText(null);

int tempList[]=list. getSelectedIndices();∥获得选中索引表

for (int i=0;i < tempList.length; i++)∥对索引表中的每个元素显示被选中字样

text.append(sports[______]+":被选中\n");

29.以下应用程序创建一个窗口,窗口内放置一个面板,在面板中显示一张图片和一段 文字。

import javax.swing.*;import java.awt.*;

public class Test29 {

public static void main(String[] args) {

MyFrame frame = new MyFrame();

class MyFrame extends JFrame {

public MyFrame(){

setTitle("Test29"); setSize(300, 200);

Toolkit tool=______;

Image img = tool.getImage("myPic2.jpg");

getContentPane().add(new MyPanel (img));

setVisible(true);

class MyPanel extends JPanel{

Image myImg;

MyPanel(Image img){ myImg=img;}

public void paintComponent(Graphics g) {

if(myImg!=null)g.______ (myImg, 100,30,this);

g.drawString("我是一名自考生!",100, 140);

}

}

30.类ShareDataManager用于管理多个线程共享数据data,其中定义了一个供线程修改 data的方法modiData()。为了对data的修改操作保持完整,多线程在data上的操作 有互斥要求;另外,限制线程对data的修改不能让data为负数,所以多线程在data 上的操作还有同步要求。以下是类ShareDataManager的定义。

class ShareDataManager{

int data;

ShareDataManager(int init){data=init;}

synchronized void modiData(int delta){

if (data+delta>=0){ data+=delta;

} else {

while (data+delta<0){

try{______}

catch (InterruptedException e){}

}

data+=delta;

}

______;

}

}

责编:wuhuirong