Heim >Java >javaLernprogramm >Warum gibt mein Java-Code den Fehler „Integer Number Too Large' für 600851475143 aus?
Fehlermeldung: „Integer Number Too Large“ für 600851475143
Der bereitgestellte Java-Code zielt darauf ab, den größten Primfaktor einer bestimmten Zahl zu finden . Beim Ausführen des Codes für die Eingabe 600851475143 wird jedoch ein Fehler ausgegeben. Dieser Fehler wird dadurch verursacht, dass Java standardmäßig Ganzzahlen als 32-Bit-Zahlen darstellt. Daher kann die Zahl 600851475143, die den Maximalwert einer 32-Bit-Ganzzahl überschreitet, nicht in diesem Bereich untergebracht werden.
Um dieses Problem zu lösen, können wir den langen Datentyp von Java verwenden, der 64-Bit darstellt. Bit-Ganzzahlen und kann größere numerische Werte verarbeiten. Ersetzen Sie im angegebenen Code einfach die Deklaration der eingegebenen Zahl durch Folgendes:
obj.function(600851475143L);
Durch Anhängen eines „L“ am Ende der Zahl geben wir sie als langes Literal an. Dadurch wird sichergestellt, dass Java die Zahl als 64-Bit-Ganzzahl darstellt, wodurch der Fehler „Ganzzahlzahl zu groß“ vermieden wird.
Das obige ist der detaillierte Inhalt vonWarum gibt mein Java-Code den Fehler „Integer Number Too Large' für 600851475143 aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!