これは私のコードですが、Eclipseは常にhが倍数であっても結果の整数値を返します。これを解決するために私を助けてください。Eclipseの結果の整数値のみ
public static void main(String[] args) {
double h=0.0;
for(int i=1;i<=1000;i++) {
h=h+ 1/i;
}
System.out.println("Harmonic sum "+h);
System.out.println("Harmonic sum "+String.format("%.4f", h));
結果:
h=h+ (double)1/i;
を私はこれがあると思います:あなたはこれを試してみてダブル
にあなたの除算の結果をキャストする必要が
Harmonic sum 1.0
Harmonic sum 1,0000
あなたはint divisionをやっています!倍精度で除算する –
これはEclipseとは何も関係ありません** –
整数の計算です。 'int'を' int'で分割すると、結果は 'int'になります。オペランドの1つ(または両方)を 'double 'にキャストすると、期待どおりに動作します。 'h + = 1 /(double)i;' –