1. 程式人生 > >球的自由落體運動

球的自由落體運動

/**
 *檔名: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]+" ");
		}*/
		
	}

}