问答题

下面是一个Applet程序,其功能是从3~100之间(包括3和100)每隔0.5秒显示一个新的数字,如果数字为素数,则显示为灰色,其他为绿色。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
源程序文件代码清单如下:
import java.awt.*;
import java.applet.Applet;
/*
<applet code=ex15_3.class width=800 height=400>
</applet>
*/
public class ex15_3 extends Applet

public Color color15_3 = Color.black;
private int n15_3 = 3;
public myPrime thPrime15_3;
public void init()

thPrime15_3 = new myPrime(this);
thPrime15_3.start();

public void paint(Graphics g)

g.setColor(color15_3);
g.drawString(n15_3, 50, 50);

public int getInt()

return n15_3;

public void setInt(int i)

n15_3=i;


class myPrime extends Thread

ex15_3 obj15_3;
myPrime (ex15_3 o)

this.obj15_3 = o;

public boolean isPrime(int n)

boolean bPrime = true;
int i=2;
if(n<3||n>100)
return false;
while(i<n-1&&bPrime)

if ((n % i) == 0)
bPrime = false;
i++;

return bPrime;

public void run()

int i;
for (i=3;i<100; i++)

if (isPrime(i))
obj15_3.color15_3 = Color.gray;
else
obj15_3.color15_3 = Color.green;
obj15_3.n15_3;
obj15_3.repaint();
try
sleep(500);
catch (InterruptedException ie)
( )



ex15_3.html
<HTML>
<HEAD>
<TITLE>ex15_3</TITLE>
</HEAD>
<BODY>
<applet code="ex15_3.class" width=800 height=400>
</applet>
</BODY>
</HTML>

【参考答案】

String.valueOf(n15_3)
i<101或者i<=100
obj15_3.setInt(i)