自由落体精确计算

import java.math.BigDecimal;
import java.util.Scanner;
/**
 * 自由落体
 */
public class Test1ZiYou {

    public static void main(String[] args) {
        System.out.println("输入降落时间(秒):");
        //得到输入的值,保存到变量t
        Scanner sc=new Scanner(System.in);
        double t=sc.nextDouble();
        /**
         * 3.5秒降落了60.025000000000006米
         */
        //套公式,求出降落距离,保存到变量d
//      double d=0.5*9.8*t*t;
//      double d=1/2d*9.8*t*t;
        //4.9=0.5*9.8
        BigDecimal a = BigDecimal.valueOf(4.9);
        BigDecimal b = BigDecimal.valueOf(t);
//      double d = a.multiply(b).multiply(b).doubleValue();
        double d = a.multiply(b.pow(2)).doubleValue();
        System.out.println(t+"秒降落了"+d+"米");
        sc.close();
    }

}

运行结果

输入降落时间(秒):
3.5
3.5秒降落了60.025米

你可能感兴趣的:(自由落体精确计算)