万能百科  > 所属分类  > 

阅读以下技术说明及Java程序,将Java程序中(1)~(5)空缺处的语句填写完整。【说明】 用创建Thread类的

阅读以下技术说明及Java程序,将Java程序中(1)~(5)空缺处的语句填写完整。

【说明】

用创建Thread类的子类的方法实现多线程,判断一个数是否是素数。如果是,打印“是素数”,如果不是,则打印“不是素数”;如果没有参数输入,显示“请输入一个命令行参数”。

【Java程序】

import java.io.* ;

public class TestThread{ //Java Application主类

public static void main(Sting args[ ]){

if (args length<l) { //要求用户输入一个命令行,否则程序不能进行下去

system.out.println("请输入一个命令行参数");

system.exit(0) ;

} //创建用户Thread子类的对象实例,使其处于NewBorn状态

primeThread getPrimes = new primeThread (Integer.parseInt(args[0]));

getPrimes.start () ; //启动用户线程,使其处于Runnable状态

while(getPrimes.isAlive()&& getPrimes.ReadyToGoOn() ) {

system.out.println("Counting the prime number..\n"); //说明主线程在运行

try {

Thread. sleep (500); //使主线程挂起指定毫秒数,以便用户线程取得控制权,

//sleep是static的类方法

}

Catch(InterruptedException e) { //sleep方法可能引起的异常,必须加以处理

return ;

}

} //while循环结束

System.out.println ("按任意键继续……") ; //保留屏幕,以便观察

try {

(1);

}

Catch(IOException e) { }

} //main方法结束

}

class primeThread extends Thread {

//创建用户自己的Thread子类run()中实现程序子线程操作

boolean m_bContinue=true; //标志本线程是继续

int m_nCircleNum ; /循环的上限

prime Thread(int Num){ //构造函数

m_nCircleNum =Nam;

}

boolean ReadyToGoOn () { //判断本线程是否继续执行

return ( (2) );

}

public void run () {

//继承并重载父类Thread的run ()方法,在该线程被启动时自动执行

int number =3;

boolean flag=true;

while (true) { //无限循环

for((3); i++) //检查number是否为素数

if(number %i==0)

(4);

system, out. println (flag);

if (flag) //打印该数是否为素数的信息

system,out.print in (number+ "是素数") ;

else

sys rem.out.print In (number+ "是素数") ;

number++ ; &nb

正确答案:

(1)system.in.read0(2)m_bContinue(3)int i=2;inumber(4)flag =false(5)flag=true(1)system.in.read0(2)m_bContinue(3)int i=2;inumber(4)flag =false(5)flag=true 解析:这是一道要求读者用创建Thread类的子类的方法实现多线程的编程题。本题的解答思路如下。 多线程是Java语言的一大特性。多线程就是同时存在n个执行体,按几条不同的执行线索共同工作的情况。程序就是一

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签