Chaîne de caractères
el_kun_aguero
Messages postés
18
Statut
Membre
-
el_kun_aguero Messages postés 18 Statut Membre -
el_kun_aguero Messages postés 18 Statut Membre -
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);
}
}
}
A voir également:
- Chaîne de caractères
- Caractères spéciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Plus de chaine tv - Guide
- Caractères ascii - Guide
- Caracteres speciaux - Guide
3 réponses
Je te conseilles de conserver dans ta variable inconnu le même nombre de caractères que dans ta variable mot :
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 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);
}
}