本帖最后由 彭超华 于 2012-7-21 21:10 编辑
今天晚上才看到题目,不知道现在做还迟不迟?
package mypackge;
public class Ziyouclass {
/*
* 题目:一球从100米高空落下,每次落地后反弹高度是原来的一半,第10次落地后经过多少米,反弹的高度是多少?分析思路:
* 需求:小球经过的路程(sum)小球第10次反弹的高度(h)
* 可以通过for来实现小球反弹的次数控制,定义一个变量sum来记录小球经过的路程,定义一个初始高度m,每循环一次,m为原来的m/2,
*/
public static void main(String[] args) {
getCourse(100, 10);
}
public static void getCourse(double h, int n) {
double sum = h; // 小球第一次落地的路程
for (int i = 0; i < n; i++) {
h = h / 2;
sum = sum + (h * 2); // h*2为小球每次反弹后到最高点再到落地的路程
System.out.println("第" + (i + 1) + "次落地后经过:" + sum + "米."
+ "反弹高度为:" + h + "米");
}
}
}
|