Maison >Java >javaDidacticiel >Pourquoi mon code Java génère-t-il une erreur « Nombre entier trop grand » pour 600851475143 ?
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!