程序填空:
本题功能是创建一个线程,按照从1到5递增的顺序将这两个整数打印出来,使程序的输出结果如下:
x=1,y=1
x=2,y=2
x=3,y=3
x=4,y=4
x=5,y=5
//*********Found**********
public class Java_1 ___________________{
private int x=0;
private int y=0;
public static void main(String[] args){
Java_1 r = new Java_1();
//*********Found**********
Thread t = new Thread( ___________________ );
t.start();
}
public void run() {
//*********Found**********
int ___________________ = 0;
for(;;){
x++;
//*********Found**********
___________________;
k++;
if (k>5) ________________; //退出for循环
System.out.println("x=" + x + ",y ="+ y);
}
}
}
全部代码:
private int x = 0;
private int y = 0;
public static void main(String[] args) {
//注意这里的对象时自己创建对象名,修改为自己的类名即可
ExerciseThreework exerciseThreework = new ExerciseThreework();
Thread thread = new Thread(exerciseThreework);
thread.start();
}
public void run() {
int k = 0;
for (; ; ) {
x++;
k++;
if (k > 5)
break;
System.out.println("x+" + x + ",y" + y);
}
}
运行结果:
程序填空题:
本题的要求是:
在主线程中创建了一个线程,该线程休眠50ms然后给变量i赋值。主线程要等该子线程结束后获得并输出i的值,使程序的输出结果如下:
j=10 ,a.i=10
public class Java_2 {
public static void main (String args[]) {
try {
Sleep a = new Sleep ();
Thread t = new Thread (a);
//*********Found**********
t._____________();
t.join();
int j= a.i;
System.out.println("j="+j+",a.i="+a.i);
} catch (Exception e) {}
}
}
//*********Found**********
class Sleep implements _________________{
int i;
public void run () {
try {
//*********Found**********
Thread._______________(50);
i= 10;
} catch(InterruptedException e) {}
}
}
全部代码:
public static void main(String[] args) {
try {
Sleep sleep = new Sleep();
Thread thread = new Thread(sleep);
thread.start();
thread.join();
int j = sleep.i;
System.out.println("j=" + j + ",sleep.i=" + sleep.i);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
static class Sleep implements Runnable {
int i;
@Override
public void run() {
try {
Thread.sleep(50);
i = 10;
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
运行结果: