Problème de String qui ne se met pas à jour
Résolu
Nonnonnon
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour. J'ai commencé la programmation java il y a une semaine. En regardant ça et là sur internet je me débrouille plus ou moins mais là je bloque:
string1 c'est une string tapée par l'utilisateur ça pas de problème.
string s c'est la string voulue.
aidez moi svp je ne comprends pas.
Merci d'avance !
string1 c'est une string tapée par l'utilisateur ça pas de problème.
string s c'est la string voulue.
Et là string s n'a pas pris la valeur entre temps et tout ce qui est "print" c'est un horrible "null" POURQUOI ? moi je veux une lettre !
String s = null;
char c = string1.charAt(4);
switch(c){
case 0:s="a"; break;
case 1:s="b"; break;
case 2:s="c"; break;
case 3:s="d"; break;
case 4:s="e"; break;
case 5:s="f"; break;
case 6:s="g"; break;
case 7:s="h"; break;
case 8:s="i" ; break;
case 9:s="j"; break;
}
System.out.println(s);
aidez moi svp je ne comprends pas.
Merci d'avance !
A voir également:
- Problème de String qui ne se met pas à jour
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mettre a jour chromecast - Accueil - Guide TV et vidéo
- Comment mettre à jour ses pilotes - Guide
- Mise a jour kindle - Guide
2 réponses
Bonjour,
Quelle est la valeur de string1 ? Affiches c pour voir... mais il y a peu de chances qu'il soit égal aux caractères de 0 à 9 qui sont pour la plupart non affichables. Je pense que tu as confondus avec les caractères '0' à '9' :
La confiance n'exclut pas le contrôle
Quelle est la valeur de string1 ? Affiches c pour voir... mais il y a peu de chances qu'il soit égal aux caractères de 0 à 9 qui sont pour la plupart non affichables. Je pense que tu as confondus avec les caractères '0' à '9' :
switch (c) { case '0': s = "a"; break; case '1': s = "b"; break; case '2': s = "c"; break; ... }
La confiance n'exclut pas le contrôle
Bonjour kx. String1 est donnée par un scanner(system.in) . Je crois que tu as trouvé le problème qui vient des ' ' que j'avais pas mis. Je teste demain avec les ' ' . Merci !
Ps: si j'ai bien compris c'est juste des guillemets pour char ?
Ps: si j'ai bien compris c'est juste des guillemets pour char ?
"des guillemets pour char"
En quelque sorte. Parce que 0, 1, 2... ce sont des int. Rien à voir avec '0', '1', '2' qui sont des char.
Il y a une conversion implicite entre char et int, basée sur leur valeur Unicode.
Par exemple : le caractère '9' a pour valeur entière 57, alors que la valeur entière 9 correspond au caractère '\t' (la tabulation). Confondre les deux entraînera forcément des erreurs !
Voir : Code ASCII
En quelque sorte. Parce que 0, 1, 2... ce sont des int. Rien à voir avec '0', '1', '2' qui sont des char.
Il y a une conversion implicite entre char et int, basée sur leur valeur Unicode.
Par exemple : le caractère '9' a pour valeur entière 57, alors que la valeur entière 9 correspond au caractère '\t' (la tabulation). Confondre les deux entraînera forcément des erreurs !
Voir : Code ASCII