●试题七 【说明】 下面是一个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()来实现对私有成员变量的修改。
血糖浓度(血液中葡萄糖的含量)是人体的重要生理指标,其值常以两种计量单位表示,即mmol•L-1和 其他 2020-05-15 …
如图为汽油机做功冲程的示意图.若某型号单缸四冲程汽油机的活塞直径为60mm(面积近似取S=3.0× 物理 2020-06-11 …
il之l发什么音?il之l,quel之l,l’amica之l,l’ora之l发什么音?是发“勒”么 英语 2020-06-26 …
如图是番茄的生长过程示意图,请据图回答:(1)图中从l→2表示的生理过程是.从1可以看出番茄的花是 语文 2020-07-06 …
求与两平行直线:1:3x-y+9=0,2:3x-y-3=0等距离的直线方程.过B(3,4)做直线l 数学 2020-07-26 …
matlab如何画一个一般方程表示的椭球椭球曲面的一般方程:a*x^2+b*y^2+c*z^2+2 其他 2020-08-02 …
英语翻译哈勃常数单位:m/(s*l.y.)表示什么物理意义?不是翻译它)已知哈勃常数为0.03m/( 数学 2020-11-21 …
用L,l,m表示k某种弹簧秤原来的长度为l,悬挂重物后的长度L可用公式L=l+k分之m表示某种弹簧秤 数学 2020-12-05 …
(1)在追寻科学家研究足迹的过程中,某同学为探究恒力做功和物体动能变化间的关系,采用了如图(l)所示 物理 2021-01-17 …
如图描述的是绿色植物--大豆的一生,根据图示回答问题:(l)图示①→②过程所需的自身条件有:胚是活的 语文 2021-02-01 …