Heim >Java >javaLernprogramm >Warum gibt der Modulo-Operator von Java negative Ergebnisse für negative Eingaben zurück?
Modulo vs. Rest in Java verstehen
In Java berechnet der Modulo-Operator (%) den Rest, nachdem eine Zahl durch eine andere dividiert wurde. Im Gegensatz zum Modulo-Operator von Python gibt die Modulo-Operation von Java negative Werte für negative Eingaben zurück. Dies kann zu unerwarteten Ergebnissen führen, wie die Berechnung von -1 % 2 sowohl in Python als auch in Java zeigt.
Auflösen der Diskrepanz
Um das gleiche Verhalten wie Pythons Modulo zu erreichen Operator in Java können Sie die folgenden Techniken anwenden:
Beispielcode:
<code class="java">int i = (((-1 % 2) + 2) % 2);</code>
oder
<code class="java">int i = -1 % 2; if (i < 0) i += 2;</code>
Durch die Verwendung dieser Techniken können Sie sicherstellen, dass sich die Modulo-Operation in Java konsistent mit dem Modulo-Operator von Python verhält und die erwarteten positiven Restwerte liefert.
Das obige ist der detaillierte Inhalt vonWarum gibt der Modulo-Operator von Java negative Ergebnisse für negative Eingaben zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!