私は C# でプログラムをコーディングします。今回は Java で記述する必要があり、次のような単純な数値を加算および減算しようとすると、次のようになります。
double array1 = new double array1[200];
double array2 = new double array2[200];
for (int var = 1; var < 200; var++)
{
array1[var] = Math.Round(array1[var] + 0.005,3);
array2[var] = Math.Round(1 - array1[var],3);
}
出力は次のようになります。
array1[0]=0.005,array1[1]=0.010,array1[2]=0.015,array1[3]=0.020,array1[4]=0.025 ......
array2[0]=1.000,array2[1]=0.995,array2[2]=0.990,array2[3]=0.985,array2[4]=0.980 ......
Javaを使おうとしたとき、次のコードを使用しました:
double array1 = new double[200];
double array2 = new double[200];
for (int var = 1; var < 200; var++)
{
array1[var] = (array1[var] + 0.005);
array2[var] = (1 - array1[var]);
}
出力は同じです。6 の後に double の不正確さが原因で異なる結果がもたらされ始めます。BigDecimal を使用しようとしましたが、どのように機能するか、または配列内に結果を追加する方法をまだ理解していません.