早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

●试题七 【说明】 下面是一个Applet程序,其功能是从3~100之间(包括3和100)每隔0.5秒显示一个新的

题目

●试题七

【说明】

下面是一个Applet程序,其功能是从3~100之间(包括3和100)每隔0.5秒显示一个新的数字,如果数字为素数,则显示为灰色,其他为绿色。

程序运行结果如图4所示。

import java.awt.*;

import java.applet.Applet;

/*

<applet code=ex2_7.class width=800 height=400>

</applet>

*/

图 4

public class ex2_7 extends Applet {

public Color color2_7 = Color.black;

private int n2_7 = 3;

public myPrime thPrime2_7;

public void init() {

thPrime2_7 = new myPrime(this);

thPrime2_7.start();

}

public void paint(Graphics g) {

g.setColor(color2_7);

g.drawstring((1) ,50, 50);

}

public int getInt(){

return n2_7;

}

public void setInt(int i){

n2_7=i;

}

}

class myPrime extends Thread {

ex2_7 obj2_7;

myPrime (ex2_7 o) {

this.obj2_7 = o;

}

public boolean isPrime(int n) {

boolean bPrime = true;

int i=2;

if((2))

return false;

while(i<n-1&&bPrime){

if ((3))

bPrime = false;

i++;

}

return bPrime;

}

public void run() {

int i;

for (i = 3;(4); i++) {

if (isPrime(i))

obj2_7.color2_7 = Color.gray;

else

obj2_7.color2_7 = Color.green;

(5);

obj2_7.repaint();

try {

sleep(500);

} catch (InterruptedException ie) {

}

}

}

}

ex2_7.html

<HTML>

<HEAD>

<TITLE>ex2_7</TITLE>

</HEAD>

<BODY>

<applet code="ex2_7.class" width=800 height=400 >

</applet>

</BODY>

</HTML>

参考答案
正确答案:
●试题七【答案】(1)String.valueOf(n2_7)(2)n<3||n>100(3)(n%i)==0(4)i<101或者i<=100(5)obj2_7.setInt(i)【解析】本题主要考查线程的概念和使用,Applet的执行过程和窗口,for循环语句以及字符串和int型的数据转换和面向对象编程的基本思想。解题关键是熟练地将Applet的执行和线程的基本思想结合完成一定的综合性的应用;熟练掌握线程的建立、运行以及线程类与封装类之间的信息传递方式,即通过对象调用封装的方法来进行,如语句obj2_7.repaint()。本题中,不可以直接填入n2_7,会导致参数类型不符合的错误,应该用String类的valueOf()方法对int型数据进行转换得到String类型数据;注意题目要求,需要包括3和100,因此循环变量的上界应该是i<101或者i<=100;由于n2_7是类ex2_7的私有成员,因此不可以直接用对象obj2_7来调用这个成员变量,需要通过类ex2_7的方法setInt()来实现对私有成员变量的修改。