-3
public void mystery1(int n) {
if (n <= 1) {
    System.out.print(n);
} else {
    mystery1(n / 2);
    System.out.print(", " + n);
}
}

奇数のこのコードを与えるもの. 割ると整数にならないからです。

4

4 に答える 4

1

Java または他のほとんどのプログラミング言語では、整数を整数で割ると、結果は整数になります。10 進数が発生した場合は、たとえば次のように言います。

5/2=2.5

次に、小数点の前の数値が整数として扱われ、2 が選択されます。

整数を float または double に明示的に変換する場合は、次の変換のいずれかを使用できます。

(float) 3/2;

(double) n/2;

上記は明示的に10進数に変換します。

于 2012-07-31T10:55:14.347 に答える
1

Javaでの整数除算の結果は整数なので不思議ではありません。

于 2012-07-31T10:47:57.010 に答える
0

n / 2、これは整数除算であり、小数部分は無視されます。

System.out.println(3/2); // prints 1
System.out.println(3.0/2); // prints 1.5
System.out.println(3/2.0); // prints 1.5
System.out.println(3.0/2.0); // prints 1.5
于 2012-07-31T10:48:29.497 に答える
0

Param は int に丸められます。たとえば、param が 5 の場合、関数の次の呼び出しは param 2 になります。

于 2012-07-31T10:53:35.677 に答える