java 实现工人四班三倒
时间: 2024-05-05 15:16:12 浏览: 9
以下是一个简单的 Java 程序,实现了工人四班三倒的班次安排:
```java
import java.util.*;
public class WorkerSchedule {
public static void main(String[] args) {
// 定义班次
String[] shifts = {"白班", "中班", "夜班"};
// 定义工人
String[] workers = {"张三", "李四", "王五", "赵六", "钱七", "孙八", "周九", "吴十"};
// 定义工人的班次
Map<String, String> workerShifts = new HashMap<>();
// 初始化班次
int shiftIndex = 0;
for (String worker : workers) {
workerShifts.put(worker, shifts[shiftIndex]);
shiftIndex = (shiftIndex + 1) % shifts.length;
}
// 安排班次
for (int day = 1; day <= 30; day++) {
System.out.println("第" + day + "天的班次安排如下:");
for (int shift = 0; shift < shifts.length; shift++) {
System.out.println(shifts[shift] + ":");
for (int i = shift; i < workers.length; i += shifts.length) {
System.out.println(workers[i] + ",");
}
System.out.println();
}
// 更新工人的班次
String temp = workerShifts.get(workers[workers.length - 1]);
for (int i = workers.length - 1; i > 0; i--) {
workerShifts.put(workers[i], workerShifts.get(workers[i - 1]));
}
workerShifts.put(workers[0], temp);
}
}
}
```
该程序使用了一个 `Map` 对象来存储工人的班次,使用了一个循环来安排每个班次的工人,使用了一个循环来更新工人的班次。程序输出了每天的班次安排,以及每个班次对应的工人。