Maison  >  Article  >  Java  >  Pourquoi mon code Java génère-t-il une erreur « Nombre entier trop grand » pour 600851475143 ?

Pourquoi mon code Java génère-t-il une erreur « Nombre entier trop grand » pour 600851475143 ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-07 22:08:03906parcourir

Why Does My Java Code Throw an

Message d'erreur : "Nombre entier trop grand" pour 600851475143

Le code Java fourni vise à trouver le plus grand facteur premier d'un nombre donné . Cependant, lors de l'exécution du code pour l'entrée 600851475143, une erreur est générée. Cette erreur est due au fait que Java représente par défaut les entiers sous forme de nombres 32 bits. Par conséquent, le nombre 600851475143, qui dépasse la valeur maximale d'un entier de 32 bits, ne peut pas être pris en compte dans cette plage.

Pour résoudre ce problème, nous pouvons utiliser le type de données long de Java, qui représente 64- des entiers de bits et peut gérer des valeurs numériques plus grandes. Dans le code donné, remplacez simplement la déclaration du numéro saisi par ce qui suit :

obj.function(600851475143L);

En ajoutant un "L" à la fin du numéro, nous le spécifions comme un littéral long. Cela garantit que Java représente le nombre sous la forme d'un entier de 64 bits, évitant ainsi l'erreur « Nombre entier trop grand ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn