Heim >Java >javaLernprogramm >Warum gibt mein Java-Code den Fehler „Integer Number Too Large' für 600851475143 aus?

Warum gibt mein Java-Code den Fehler „Integer Number Too Large' für 600851475143 aus?

Linda Hamilton
Linda HamiltonOriginal
2024-11-07 22:08:03995Durchsuche

Why Does My Java Code Throw an

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn