将数学公式放入java中

时间:2017-02-15 11:56:24

标签: java

  

练习2.12
  (计算算术级数)算术级数(AP)或算术序列是数字序列,使得连续项之间的差异是恒定的。例如,序列5,7,9,11,13,15 ......是AP,其公差为2.如果AP的初始项为A1且连续成员的公共差为d,则第n个序列a的术语由下式给出:

a n = a 1 + (n-1)*d
     

编写一个程序,提示用户输入1和d并计算46。

     

输入速度和加速度:60 3.5
  该飞机的最小跑道长度为514.286

这是我的代码:

import java.util.Scanner;
  public class Chapter2Exercise12 {
     public static void main(String[] args){

    Scanner input = new Scanner(System.in);
    System.out.print("Enter speed: ");

    double speed = input.nextDouble();

    System.out.print("Enter acceleration: ");

    double acceleration = input.nextDouble();

    double length = speed + (46 - 1)* acceleration;


    System.out.println("The minimum runway length for this airplane is " +
    length + " meters");

    }
}

这是本书的答案:

import java.util.Scanner;

    public class Exercise02_12 {
     public static void main(String[] args) {
      Scanner input = new Scanner(System.in);

        System.out.print("Enter speed v: ");
        double v = input.nextDouble();
        System.out.print("Enter acceleration a: ");
        double a = input.nextDouble();

        double length = v * v / (2 * a);

        System.out.println("The minimum runway length for this airplane is " +
        length + " meters");
  }
}

有谁知道他们如何从长度中得到公式?

它可能与其他不理解这一点的人有关,需要在项目中应用它。

1 个答案:

答案 0 :(得分:0)

您的代码似乎正在正确计算A46术语。

但是,问题是他们实际上要求缺少类似的东西:

"飞机以速度0开始升空。 要求用户输入飞机的加速度和起飞速度(起飞所需的最低速度)。

计算跑道所需的最小长度。"

答案当然是使用之前在评论中提到的公式。