Comparaison de chaine [Résolu]

Messages postés
108
Date d'inscription
samedi 31 mars 2012
Dernière intervention
16 juin 2013
- - Dernière réponse : andoid
Messages postés
108
Date d'inscription
samedi 31 mars 2012
Dernière intervention
16 juin 2013
- 12 mars 2013 à 09:15
Bonjour

Je cherche la fonction qui permet de comparer deux chaines, pas égal mais deux chaines qui ont les mêmes lettres.
Ex:
elle doit accepter par exemple:
aime et emai par exemple parce qu'elles ont les mêmes lettres
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
6450
Date d'inscription
mardi 8 mars 2005
Dernière intervention
17 mai 2018
3
Merci
Salut,

Je pense que tu n'as pas tout a fait compris ce que fait JulSoft, cela fonctionne si le nombre d’occurrence de chaque lettre n'a pas d'importance.

Tu peux toujours faire ceci :
public static boolean tester_lettres(String a, String b){
char[] t_a = a.toCharArray();
char[] t_b = b.toCharArray();
Arrays.sort(t_a);
Arrays.sort(t_b);
return new String(t_a).equals(new String(t_b));
}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_Julien39
Messages postés
354
Date d'inscription
dimanche 3 juin 2001
Dernière intervention
11 mars 2013
0
Merci
Est-ce que la casse ou le nombre d'occurances de chaque lettre est important?

Une première version (non testée):

boolean compare(String a, String b){
    HashSet<Character> charsA = new HashSet<Character>();

    foreach(char c : a.toCharArray()){
        charsA.add(c);
    }

    foreach(char c : b.toCharArray()){
        if(!charsA.contains(c))
            return false;
    }

    return true;
}


Sensible à la casse, mais pas au nombre d'ocurences (les lettres de la chaîne b doivent se trouver parmi celles de la chaîne a).
Commenter la réponse de JulSoft
Messages postés
108
Date d'inscription
samedi 31 mars 2012
Dernière intervention
16 juin 2013
0
Merci
Ton code n'envoie tout le temps "true"
J'ai compris ton idée
Commenter la réponse de andoid
Messages postés
108
Date d'inscription
samedi 31 mars 2012
Dernière intervention
16 juin 2013
0
Merci
Le nombre d’occurrences de chaque lettres à de l'importance pour par exemple
"officiel", s'il met "ciealoffi" sa devrait marcher, alors que les set n'accepte pas de doublons
Commenter la réponse de andoid

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.