请完成下列Java程序:程序的功能演示了如何通过实现Runnable接口创建线程对象,程序中定义了一个类B,类中重写了含一个字符串参数的构造方法,并实现了Runnable接口,即在类B中编写了接口中的run()方法的方法体。还定义了一个应用程序类ex35_2,其中创建类B的3个对象b1,b2和b3作为线程对象t1,t2和t3的参数,并启动这3个线程。注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。程序运行结果如下:public class ex35_2{public static void main(String args[ ]){Runnable b1=new B("First");Runnable b2=new B("Second");Runnable b3=new B("Third");Thread t1=new Thread(b1);Thread t2=new Thread(b2);Thread t3=new Thread(b3);t1.start ();t2.start ();t3.start();}}class B _____________________ Runnable{String s;public B(String str){s=str;}_________________{for(int i=1;i<3;i++){System. out. println ( s+ "运行!");try{Thread.sleep((int) (Math.random() *100) );}catch (InterruptedException e){e.printStackTrace ( );}}System. out.println (s+"结束!");}}

请完成下列Java程序:程序的功能演示了如何通过实现Runnable接口创建线程对象,程序中定义了一个类B,类中重写了含一个字符串参数的构造方法,并实现了Runnable接口,即在类B中编写了接口中的run()方法的方法体。还定义了一个应用程序类ex35_2,其中创建类B的3个对象b1,b2和b3作为线程对象t1,t2和t3的参数,并启动这3个线程。

注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。

程序运行结果如下:

public class ex35_2

{

public static void main(String args[ ])

{

Runnable b1=new B("First");

Runnable b2=new B("Second");

Runnable b3=new B("Third");

Thread t1=new Thread(b1);

Thread t2=new Thread(b2);

Thread t3=new Thread(b3);

t1.start ();

t2.start ();

t3.start();

}

}

class B _____________________ Runnable

{

String s;

public B(String str)

{

s=str;

}

_________________

{

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

{

System. out. println ( s+ "运行!");

try

{

Thread.sleep((int) (Math.random() *100) );

}

catch (InterruptedException e)

{

e.printStackTrace ( );

}

}

System. out.println (s+"结束!");

}

}


相关考题:

下列方法中可以用来创建一个新线程的是( )。A.实现java.lang.Runnable接口并重写start()方法B.实现java.lang.Runnable接口并重写run()方法C.继承java.lang.Thread类并重写run()方法D.实现java.lang.Thread类并实现start()方法

关于Runnable接口,错误的说法是 ( )A.实现接口Runnable的类仍然可以继承其他父类B.创建实现Runnable接口的类后,就可以用start方法启动线程了C.Runable接口提供了通过线程执行程序的最基本的接口D.Runnable只定义了一个run方法

下列方法中可以用来创建一个新线程的是______。A.实现java.lang.Runnable接口并重写start()方法B.实现java.lang.Runnable接口并重写run()方法C.继承java.lang.Thread类并重写run()方法D.实现java.lang.Thread类并实现start()方法

下列方法中可以用来创建一个新线程的是( )。A.实现java.lang.Runnable接口并重写start方法B.实现java.lang.Runnable接口并重写run方法C.继承java.lang.Thread类并重写run方法D.实现java.lang.Thread类并实现start方法

下列方法中可以用来创建一个新线程的是A.实现java.lang.Runnable接口并重写start()方法B.实现java.lang.Runnable接口并重写run()方法C.继承java.lang.Thread类并重写run()方法D.实现java.lang.Thread类并实现start()方法

关于Runnable接口,错误的说法是()。A.实现接口Runnable的类仍可以继承其他父类B.创建实现Runnable接口的类后,就可以用Start方法启动线程了C.Runnable接口提供了通过线程执行程序的最基本的接口D.Runnable只定义了一个run方法

下列方法中可以用来创建一个新线程的是( )。 A.实现java.lang.Runnable接口并重写start方法SX 下列方法中可以用来创建一个新线程的是( )。A.实现java.lang.Runnable接口并重写start方法B.实现java.lang.Runnable接口并重写run方法C.继承java.lang.Thread类并重写run方法D.实现java.lang.Thread类并实现start方法

下列说法中,错误的一项是()。A.Thread类中没有定义run()方法B.可以通过继承Thread类来创建线程C.Runnable接口中定义了run()方法D.可以通过实现Runnable接口创建线程

3、通过实现Runnable接口创建的线程类要想启动线程,必须在程序中创建 类的对象。