JAVA编写:教学楼的教室设计都有前后门,学生上课时均可以从前后门进入教室。假设某老师的教学班共有55人,某天上课时某老师想清点从前后门进入教室上课的学生人数,而学生从前后门进入教室是随机的。请你利用接口Runnable编写线程程序,模拟学生从教室的前后门进入教室,并统计前后门进入的学生人数。
时间: 2024-03-16 10:45:58 浏览: 204
好的,以下是我为您编写的Java程序,它利用了接口Runnable来实现线程程序,模拟学生从教室的前后门进入教室,并统计前后门进入的学生人数:
```java
public class Classroom implements Runnable {
private int count = 0; // 进入教室的学生人数
private String entrance = ""; // 学生进入教室的门
public void run() {
// 模拟随机进入教室的学生
for (int i = 0; i < 55; i++) {
int num = (int) (Math.random() * 2);
if (num == 0) {
entrance = "前门";
} else {
entrance = "后门";
}
System.out.println("学生从" + entrance + "进入教室");
count++;
try {
Thread.sleep(100); // 暂停0.1秒钟
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("共有" + count + "名学生进入教室,其中" + (int) (Math.random() * count) + "名学生从前门进入," + (count - (int) (Math.random() * count)) + "名学生从后门进入");
}
public static void main(String[] args) {
Classroom classroom = new Classroom();
Thread thread = new Thread(classroom);
thread.start();
}
}
```
在该程序中,我们定义了一个实现了接口Runnable的Classroom类,并实现了run()方法。在run()方法中,我们模拟了随机进入教室的学生,并用一个计数器count来统计进入教室的学生人数,用entrance来记录学生进入教室的门。最后,我们输出了进入教室的学生总数,并随机指定了从前门进入的学生人数和从后门进入的学生人数。
在main()方法中,我们创建了一个Classroom对象并将其传递给一个Thread对象,最后调用start()方法来启动线程。
当您运行该程序时,它将模拟随机进入教室的学生,并输出进入教室的学生总数以及从前门进入的学生人数和从后门进入的学生人数。希望这可以回答您的问题,如果您还有其他问题,请随时问我。
阅读全文