public void mystery1(int n) {
if (n <= 1) {
System.out.print(n);
} else {
mystery1(n / 2);
System.out.print(", " + n);
}
}
Was gibt dieser Code für ungerade Zahlen. Wenn wir es teilen, wird es keine ganze Zahl sein.
Antworten:
1 für die Antwort № 1Es gibt kein Geheimnis, weil das Ergebnis der Ganzzahldivision in Java eine Ganzzahl ist.
1 für die Antwort № 2
Wenn Sie in Java oder den meisten anderen Programmiersprachen eine Ganzzahl durch eine Ganzzahl teilen, ist das Ergebnis eine Ganzzahl. Wenn eine Dezimalzahl vorkommt, sagen Sie zum Beispiel:
5/2=2.5
Dann wird die Zahl vor dem Dezimalpunkt als Ganzzahl behandelt und 2 ausgewählt.
Wenn Sie die Ganzzahl explizit in float oder double konvertieren möchten, können Sie eine der folgenden Konvertierungen verwenden:
(float) 3/2;
(double) n/2;
Das Obige konvertiert es explizit in eine Dezimalzahl.
0 für die Antwort № 3
n / 2
Dies ist eine Ganzzahldivision, bei der der Bruchteil ignoriert wird.
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
0 für die Antwort № 4
Param wird auf int gerundet. Wenn param beispielsweise 5 ist, wird die Funktion beim nächsten Aufruf mit param 2 ausgeführt