练习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");
}
}
有谁知道他们如何从长度中得到公式?
它可能与其他不理解这一点的人有关,需要在项目中应用它。
答案 0 :(得分:0)
您的代码似乎正在正确计算A46术语。
但是,问题是他们实际上要求缺少类似的东西:
"飞机以速度0开始升空。 要求用户输入飞机的加速度和起飞速度(起飞所需的最低速度)。
计算跑道所需的最小长度。"
答案当然是使用之前在评论中提到的公式。