java数据结构与算法题目小球反弹一半问题实例源码介绍



java数据结构与算法题目小球反弹一半问题实例源码介绍。

import java.util.Scanner;
/*
* 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在     第10次落地时,共经过多少米?第10次反弹多高?
*/
public class Basic10 {
public static void main(String[] args) {
System.out.println(“请输入起始高度和反弹次数,中间用空格隔开”);
Scanner sc =new Scanner(System.in);
double a = sc.nextDouble();
int b = sc.nextInt();
Basic10 my = new Basic10();
my.go(a,b);
}

public void go(double startHeight,int n)
{
double distance = startHeight;
double endHeight = 0;
for(int i=1;i<=n;i++)
{
endHeight = startHeight/2;
startHeight = endHeight;
distance=distance+endHeight*2;
}
System.out.println(“第”+n+”次落地时共经过”+distance+”米,反弹”+endHeight+”米”);
}
}

运行结果如下图