Bonjour,
voilà, lors d'un examen en java, le jeu du pendu est tombé. Enfin pas tous le jeu du pendu, juste deux fonctions à écrire. Je suis persuadé qu'elles ne sont absolument pas très dure, mais malgré tout, je n'y arrive pas. Le java n'est décidément pas mon amis.

Voilà le sujet :

Le but de cet exercice est de compléter une classe décrivant un jeu de Pendu (il faut deviner un mot choisi par le programme—le choix de ce mot ne concerne pas cet exercice). Il s'agit de proposer deux méthodes permettant d'indiquer à un joueur si celui-ci à gagner ou si celui-ci s'approche de la solution. Le mot à deviner est représenté sous la forme d'un tableau de caractères (type char) intitulé motADeviner :


public class Pendu {

private char motADeviner[];
// char --> type représentant *1* seul caractère

public boolean motTrouve(char motPropose[]) {

}

public boolean motMelange(char motPropose[]) {

}
}


Question 1
Il vous est demandé de créer la fonction motTrouve(char motPropose[])qui a pour but de comparer un mot au mot à deviner et retournant une valeur booléenne : la fonction doit renvoyer true si chaque caractère du tableau motPropose a sa correspondance à la place exacte dans le tableau (autrement dit les mots sont identiques), sinon false.
Question 2
Il vous est demandé de créer la fonction motMelange(char motPropose[])qui a pour but de comparer un mot au mot à deviner et retournant une valeur booléenne: la fonction doit fournir true si chaque caractère du tableau motPropose apparaît dans le tableau motADeviner mais à une place incorrecte, sinon false.


Exemple
Le mot à deviner est "cela" et donc le tableau de caractères motADeviner contient c,e,l,a. Si le tableau de lettres motPropose contient c,e,l,a la fonction motTrouve fournira comme réponse true alors que la fonction motMelange fournira false. Si le tableau de lettres motPropose contient l,c,a,e la fonction motTrouve fournira comme réponse false alors que la fonction motMelange fournira true.
Avez vous une idée de comment écrire ces deux fonctions?

Je pense qu'il faut utiliser " Arrays.equals" de facon à pouvoir comparer les données entre motpropose[] et motAdeviner[].

Cependant je ne sais pas trop comment on peut écrire ca...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class Pendu {
 
    private char motADeviner[];
    // char --> type représentant *1* seul caractère
 
    public boolean motTrouve(char motPropose[]) {
 
        boolean resultat = Arrays.equals(motPropose[],motAdeviner[]);
 
       If resultat == true {
        System.out.println("Felicitation !!");
      } else {
       motMelange();
      }
    }  
 
    public boolean motMelange(char motPropose[]) {
        int i ;
        int j;
      for ( i=0; i<motPropose.lengh ; i++ ) {
 
     La je sais pas, j'imagine qu'il faut utilisé equals, mais sans conviction...
 
    }  
}
Merci a vous