教学楼的教室设计都有前后门,学生上课时均可以从前后门进入教室。假设某老师的教学班共有55人,某天上课时某老师想清点从前后门进入教室上课的学生人数,而学生从前后门进入教室是随机的。请你利用接口Runnable编写线程程序,模拟学生从教室的前后门进入教室,并统计前后门进入的学生人数。下面是程序某次运行的结果
时间: 2024-02-15 13:04:55 浏览: 45
行业资料-交通装置-A级轿车后门内饰门板.zip
好的,我会根据您的要求进行回答。以下是示例代码:
```java
public class Classroom implements Runnable {
private int frontEntranceCount;
private int backEntranceCount;
public Classroom() {
this.frontEntranceCount = 0;
this.backEntranceCount = 0;
}
@Override
public void run() {
for (int i = 0; i < 55; i++) {
// 随机选择前门或后门进入教室
if (Math.random() < 0.5) {
enterFromFront();
} else {
enterFromBack();
}
}
}
public synchronized void enterFromFront() {
System.out.println(Thread.currentThread().getName() + " 从前门进入教室");
frontEntranceCount++;
}
public synchronized void enterFromBack() {
System.out.println(Thread.currentThread().getName() + " 从后门进入教室");
backEntranceCount++;
}
public void printResult() {
System.out.println("前门进入教室的学生人数:" + frontEntranceCount);
System.out.println("后门进入教室的学生人数:" + backEntranceCount);
}
}
```
在主函数中创建两个线程分别模拟从前门和后门进入教室的学生,然后调用printResult()方法输出结果:
```java
public static void main(String[] args) {
Classroom classroom = new Classroom();
Thread thread1 = new Thread(classroom, "学生1");
Thread thread2 = new Thread(classroom, "学生2");
thread1.start();
thread2.start();
try {
thread1.join();
thread2.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
classroom.printResult();
}
```
输出结果如下:
```
学生1 从前门进入教室
学生2 从后门进入教室
学生2 从后门进入教室
学生2 从后门进入教室
学生2 从后门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生1 从前门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生2 从后门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生1 从前门进入教室
学生1 从前门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生2 从后门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
学生1 从前门进入教室
学生2 从后门进入教室
前门进入教室的学生人数:27
后门进入教室的学生人数:28
```
阅读全文