做基础练习时,这个题是我觉得争议最大的,网上也给出了很多答案,运行结果多样化的厉害。思路可以多样,但是运行结果肯定只有一个。下面给出我的代码,希望能有人指点1.2
//球反弹--最后一次落地不反弹,算反弹高度时/2
@Test
public void boil(){
Scanner s = new Scanner(System.in);
System.out.println("想求第几次反弹的高度:");
int n = s.nextInt();
double h = 100; //原高度
double sum =100;
for(int i=1;i<=n;i++){
h = h/2;
sum += 2*h;
if(i==n){
sum -= 2*h;
}
}
System.out.println("第"+n+"次落地经过的总高度是"+sum);
System.out.println("第"+n+"次反弹高度是"+h);
}