Chaîne de caractères
el_kun_aguero
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
el_kun_aguero Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
el_kun_aguero Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Bonjour, en fait j'aimerai affecter à la variable " aux " la lettre saisi par l'utilisateur et la remplacé par le "-" de la variable "inconnu" mais j'ai pas vraiment d'idée pour faire ceci. Je sais que la ligne 30 de mon code n'est pas bon, j'aimerai juste qu'on me mette sur la bonne voie. Merci
Voici mon programme:
Voici mon programme:
public static void main (String[] args) {
// Initialisation des vvariables
String mot = Generateur.unMot(), inconnu = "", aux= " ";
int i, j;
char choix;
// mot: C'est le mot à trouver
// inconnu: Ici cette variable représente les "-" lors du premier affichage du mot
// choix: C'est la lettre choisi par l'utilisateur
// aux: C'est une varaible auxillaire qui sera utilisé pour généré le mot à trouvé.
//Affichage du mot
for ( i = 0; i <= mot.length()-1; i++) {
inconnu = inconnu + " - ";
}
Ecran.afficherln(inconnu);
Ecran.afficherln("Saisir une lettre: ");
choix = Clavier.saisirChar();
for ( i = 0; i <= mot.length()-1; i++) {
if ( choix == mot.charAt(i)){
aux = choix + inconnu;
}
Ecran.afficher (aux);
}
}
}
3 réponses
-
Je te conseilles de conserver dans ta variable inconnu le même nombre de caractères que dans ta variable mot :
String inconnu = ""; for (int i=0; i<mot.length(); i++) inconnu += "-";
Comme ça tu peux plus facilement faire la correspondance entre les deux mots car les charAt(i) correspondent à la même lettre, ça te permet de faire ceci :
String aux = ""; for (int i=0; i<mot.length(); i++ ) { if (mot.charAt(i)==choix) aux += choix; else aux += inconnu.charAt(i); } inconnu = aux;La confiance n'exclut pas le contrôle -
Ah d'accord je vois, mais lors de l'affichage de "inconnu" le programme ne risque pas de rien m'afficher ?
-
-
-
Normalement ça doit bien se passer, voici le code complet pour tester :
class Ecran { public static void afficherln(String inconnu) { System.out.println(inconnu); } public static void afficher(String aux) { System.out.print(aux); } } class Clavier { private static java.util.Scanner scanner = new java.util.Scanner(System.in); public static char saisirChar() { return scanner.nextLine().charAt(0); } } class Generateur { public static String unMot() { return "toto"; } } public class Test { public static void main(String[] args) { String mot = Generateur.unMot(); String inconnu = ""; for (int i = 0; i < mot.length(); i++ ) inconnu += "-"; Ecran.afficherln(inconnu); Ecran.afficher("Saisir une lettre : "); char choix = Clavier.saisirChar(); String aux = ""; for (int i = 0; i < mot.length(); i++ ) { if (mot.charAt(i) == choix) aux += choix; else aux += inconnu.charAt(i); } inconnu = aux; Ecran.afficherln(inconnu); } }
-
-
C'est bizarre, c'est exactement ce que j'ai mis ... c'est surement scite qui me joue es tours. En tout cas merci, ça m'as beaucoup aider.