J'ai un scanner qui lit un code alphanumérique à 7 caractères (entré par l'utilisateur). la variable String est appelée "code".Comparaison de nombres entiers de chaînes Problème
Le dernier caractère du code (7ème caractère, 6ème index) DOIT ÊTRE NUMÉRIQUE, tandis que le reste peut être numérique ou alphabétique. Donc, je cherchais à faire un catch, ce qui empêcherait le reste de la méthode de s'exécuter si le dernier caractère du code était autre qu'un nombre (de 0 à 9).
Cependant, mon code ne fonctionne pas comme prévu, vu que même si mon code se termine par un entier compris entre 0 et 9, l'instruction if sera satisfaite et l'option "dernier caractère du code non-numérique".
exemple de code: 45m4av7
CharacterAtEnd imprime comme le caractère de chaîne 7, comme il se doit mais mon programme me dit encore mon code se termine non numérique Je suis conscient que mes valeurs numériques sont chaîne.. caractères, mais il ne devrait pas importer, devrait-il? aussi je ne peux apparemment pas comparer les valeurs entières réelles avec un "|", qui est principalement pourquoi im utilisant Strin g.valueOf, et en prenant les caractères de chaîne de 0-9.
String characterAtEnd = String.valueOf(code.charAt(code.length()-1));
System.out.println(characterAtEnd);
if(!characterAtEnd.equals(String.valueOf(0|1|2|3|4|5|6|7|8|9))){
System.out.println("INVALID CRC CODE: last character in code in non-numerical.");
System.exit(0);
Je ne peux pas pour la vie de moi, de savoir pourquoi mon programme me dit mon code (qui a un 7 à la fin) se termine non numérique. Il devrait ignorer l'instruction if et continuer. droite?
essayez d'utiliser regex. [Lien] (http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/) – SaintLike
Veuillez marquer votre question avec le langage de programmation. – Barmar
http://stackoverflow.com/questions/1223052/how-do-i-find-out-if-first-character-of-a-string-is-a-numéro –