私の評価は、プログラムを実行することでした。手順は以下のとおりです。
- 円の半径は 1.0 にする必要があります。
- 算術式で適切な Math クラス メソッドを使用します。
- x 座標の値は、最初のテスト中に 0.1 ずつ変化するはずです。プログラムが動作するようになったら、コードをわずかに変更するだけで、増分が 0.01 または 0.001 になることを確認します。
- きれいにフォーマットされた表に情報を表示します。(期待される出力を参照してください。) フォーマット グリッドを使用して、出力のレイアウトを開発する時間を節約します。背景: 代数の授業で、円の半径と x または y のいずれかの値がわかっている場合、ピタゴラスの定理を使用して x または y 座標を決定できることを思い出してください。半径が 1 の円を扱っていると仮定します。x の連続する値を反復処理すると、対応する y の値を計算できます。算術式の設定には、必ず Math クラスのメソッドを使用してください。
これはサークルです: http://i.stack.imgur.com/NypKz.png
以下のプログラムを行いました。
public class PointsOnACircleV1 {
public static void main(String[ ] args)
{
double[] x1 = { 1.0, 0.90, 0.80, 0.70, 0.60, 0.50, 0.40, 0.30, 0.20,
0.10, 0.00, -0.10, -0.20, -0.30, -0.40, -0.50, -0.60, -0.70,
-0.80, -0.90, -1.00 };
double r = 1;
System.out.println(" Points on a Circle of Radius 1.0");
System.out.println(" x1 y1 x2 y2");
System.out.println("---------------------------------------------");
for (int i = 0; i < x1.length; i++) {
double y1 = Math.sqrt(Math.pow(r, 2) - Math.pow(x1[i], 2));
double y2 = Math.sqrt(Math.pow(r, 2) - Math.pow(x1[i], 2));
System.out.printf("%10.2f%10.2f%10.2f%10.2f%n", x1[i], y1, x1[i], y2);
}
System.out.println("");
}
}
出力は次のようになります: http://i.stack.imgur.com/pywwJ.png
私は別の出力を得ています。私の出力はこのようになっています。
Points on a Circle of Radius 1.0
x1 y1 x2 y2
---------------------------------------------
1.00 0.00 1.00 0.00
0.90 0.44 0.90 0.44
0.80 0.60 0.80 0.60
0.70 0.71 0.70 0.71
0.60 0.80 0.60 0.80
0.50 0.87 0.50 0.87
0.40 0.92 0.40 0.92
0.30 0.95 0.30 0.95
0.20 0.98 0.20 0.98
0.10 0.99 0.10 0.99
0.00 1.00 0.00 1.00
-0.10 0.99 -0.10 0.99
-0.20 0.98 -0.20 0.98
-0.30 0.95 -0.30 0.95
-0.40 0.92 -0.40 0.92
-0.50 0.87 -0.50 0.87
-0.60 0.80 -0.60 0.80
-0.70 0.71 -0.70 0.71
-0.80 0.60 -0.80 0.60
-0.90 0.44 -0.90 0.44
-1.00 0.00 -1.00 0.00