球的自由落体运动

/**
 *文件名:Ball.java
 *描述:1.一球从100米高度自由落下,每次落地后反跳回原高度的一半;
 *再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
 *作者:kyx
 *时间:2019.01.04
 *备注:用两个数组记录第n次下落或反弹的距离
 */
public class Ball {

	public static void main(String[] args) {
	//为了方便表示,将数组下标为0的位置的值设为0,用下标1位置的值表示第一次掉落或反弹
		double[] fall = new double[11];//掉落
		double[] rebound = new double[11];//反弹
		int sum = 0;//第n次落地时经过的总距离
		fall[0] = 0;fall[1] = 100;
		rebound[0] = 0;rebound[1] = 50;
		for(int i=2;i<11;++i){
			fall[i] = rebound[i-1];
			rebound[i] = fall[i]/2;
		}
		for(int i=1;i<10;++i){
			sum+=fall[i]+rebound[i];
		}
		sum+=fall[10];
		System.out.println("该球在第10次落地时,共经过距离为"+sum+"米");
		System.out.println("该球第10次反弹高"+rebound[10]+"米");
		/*测试
		for(int i=1;i<11;++i){
			System.out.print(fall[i]+" ");
		}
		System.out.println("");
		for(int i=1;i<11;++i){
			System.out.print(rebound[i]+" ");
		}*/
		
	}

}

猜你喜欢

转载自blog.csdn.net/qq_41369146/article/details/85838669