Alors au sommet de mon code, je déclarai la variable private long counter;
Et quand je tente de donner un chiffre qui est très long, il donne une erreur, Im essayant de faire counter = 1111111111111111;
Cest 16 « 1 "s et je continue à obtenir l'erreur" Le littéral 1111111111111111 de type int est hors de portée "qu'est-ce que je fais mal?Java numéros longs Aide
Répondre
Essayez comme ceci:
counter = 1111111111111111l;
Notez que le dernier caractère, il y a la lettre « L » (minuscule, bien sûr), et non pas le numéro un. Voici un exemple plus clair:
counter = 2222222222222222L;
Comme d'autres l'ont souligné, une majuscule « L » fonctionne également et est beaucoup plus claire. Tous les littéraux entiers dans Java sont interprétés comme ints
à moins que vous les suffixiez avec un 'L' (ou 'l') pour dire au compilateur de l'interpréter comme long
. Une chose similaire se produit avec les nombres littéraux à virgule flottante, qui sont interprétés comme doubles
par défaut, sauf si vous les ajoutez un 'f' pour indiquer au compilateur de l'interpréter comme float
. Comme dans:
double num1 = 1.0; //1.0 is treated as a literal double
float num2 = 1.0; //1.0 is still treated as a literal double; the compiler may complain about loss of precision
float num3 = 1.0f; //1.0 is treated as a float, and the compiler is happy
Le problème est que les littéraux numériques sont int
s par défaut. Pour que le littéral numérique soit long, vous devez le terminer avec le caractère alphabétique l
(L minuscule). Alors:
long counter = 1111111111111111l;
En C#, vous pouvez également utiliser une majuscule L. Je ne suis pas sûr de Java.
Vous pouvez utiliser, mais IMHO 'L' est préférable pour des raisons visuelles. –
Le compilateur java lit n'importe quel nombre comme entier par défaut. 11111111111 est évidemment en dehors de la plage d'un nombre entier. Tapez counter=11111111111L;
pour que le compilateur lise correctement la valeur.
- 1. Essayer d'enlever des virgules de numéros longs dans l'application Grails
- 2. Java Date numéros
- 3. java runtime.getRuntime.exec (cmd) avec des paramètres longs
- 4. Textes longs Java/JSF i18n (termes, faq)
- 5. Multiplier deux longs longs C
- 6. Java: numéros de crawl
- 7. Java - Numéros aromatiques - entrée
- 8. Java RMI ajoutant des numéros
- 9. Java JTextArea Numéros de ligne
- 10. Java comparer numéros de loterie
- 11. numéros de palindrome en Java
- 12. Java Méthode principale Numéros magiques
- 13. aide pour une affectation java
- 14. créer des numéros plus longs en enchaînant les champs entiers de base de données
- 15. Aide avec Java Multithreading
- 16. java classes internes noms de fichiers trop longs
- 17. Aide du programme Java
- 18. Aide avec java Fichier
- 19. Aide Java par lots
- 20. Aide Java (FileStream)
- 21. Java - Message d'erreur Aide
- 22. Java/Prolog aide - dépannage
- 23. Formating aide en java
- 24. Aide de Java ArrayList!
- 25. Aide d'expression régulière Java
- 26. aide problème java
- 27. Aide petite erreur - JAVA
- 28. java regex aide
- 29. aide regex en Java
- 30. Java regex aide
c'est un L à la fin, pour les aveugles. – MeBigFatGuy
Ou vous pourriez éviter de tels problèmes visuels et utiliser 'L' majuscule;) –
@Brian Roach - Merci, je ne savais même pas que Java accepterait la version majuscule. – aroth