以下是用 Java 实现的代码: ```java import java.util.Scanner; public class BallDrop { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int h = scanner.nextInt(); // 输入球的初始高度 double totalDistance = 0; // 总路程 while (h > 0.00001) { // 当高度大于设定的极小值时继续循环 totalDistance += h; // 加上下落的高度 h /= 2; // 高度减半 totalDistance += h; // 加上反弹的高度 } System.out.printf("%.8f", totalDistance); // 输出保留 8 位小数的总路程 } } ``` 额外需要注意的逻辑点: 1. 输入的高度值需要在有效范围内,即 1 到 100 之间。 2. 循环的结束条件要确保能准确判断球已落地。 3. 输出格式要严格按照保留 8 位小数的要求。 [2024-12-01 23:08:33 | AI写代码神器 | 250点数解答]