私は現在、物理学における単純な運動方程式の残りの変数を計算するプログラムを書いています。4/6 の変数が必要で、残りの 2 つの変数の結果を計算できます。現状では、どの変数が入力されたかどうかを検出するためにブール型の配列を使用しています。それぞれのケースを比較し、その変数を解くために 3 つの式のいずれかを書き直す必要があります。これは、ばかげた量の肥大化したコードで終わっています。
これは、私のコード内の方程式の 1 つの例です。
if(variableEntered[1] == false && variableEntered[3] == false) {
// calculate final velocity
double fvNumber = getInitialVelocity() + (getAcceleration() * (getFinalTime() - getInitialTime()));
setFinalVelocity(fvNumber);
// calculate final position
double fpNumber = (getInitialPosition() + (getInitialVelocity() * (getFinalTime() - getInitialTime())) +
((0.5 * getAcceleration()) * ((getFinalTime() - getInitialTime()) * (getFinalTime() - getInitialTime()))));
setFinalPosition(fpNumber);
System.out.printf("The final velocity is: %.2f m/s.", getFinalVelocity());
System.out.println();
System.out.printf("The final position is: %.2f meters.", getFinalPosition());
System.out.println();
}
私が使用している3つの方程式は次のとおりです。
Vf = Vi + a(tf - ti)
Xf = Xi + Vi(tf - ti) + (1/2)a(tf - ti)2
Vf2 - Vi2 = 2a(Xf - Xi)
これを短縮する方法、または実装を容易にする方法はありますか? 配列リストを使用すると何とか機能しますか?