报数游戏:A、B、C、D、E、F、G、H共八人站成一排,按图示方法从1开始报数,问谁先报到18678902?请用java语言写一段代码
时间: 2023-10-06 16:08:34 浏览: 215
好的,以下是用 Java 语言实现报数游戏的代码:
```java
public class FizzBuzzGame {
public static void main(String[] args) {
String[] players = {"A", "B", "C", "D", "E", "F", "G", "H"};
int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8};
int index = 0;
for (int i = 1; i <= 18678902; i++) {
if (i % 3 == 0 && i % 5 == 0) {
numbers[index] = 0;
index = (index + 1) % 8;
continue;
}
if (i % 3 == 0) {
numbers[index] = 0;
index = (index + 1) % 8;
continue;
}
if (i % 5 == 0) {
numbers[index] = 0;
index = (index + 1) % 8;
continue;
}
numbers[index] = numbers[index] * 10 + i % 10;
if (numbers[index] == 18678902) {
System.out.println(players[index] + " 先报到 18678902");
break;
}
i /= 10;
}
}
}
```
这段代码中,我们用两个数组分别存储玩家名称和玩家当前报数。然后,我们使用一个循环来模拟游戏的过程,每次循环中根据当前报数的情况来更新数组中的值。最后,如果有玩家报到了 18678902,就输出该玩家的名称。
阅读全文