Bonjour,
les caractères de s1 se trouve dans s2. Est ce qu'il y a une méthode prédéfini qui permet de detecter celà ou il faut créer sa propre méthode ?Code:
1
2 String s1="AbcDEfj"; String s2="CabDeFj";
Merci
Version imprimable
Bonjour,
les caractères de s1 se trouve dans s2. Est ce qu'il y a une méthode prédéfini qui permet de detecter celà ou il faut créer sa propre méthode ?Code:
1
2 String s1="AbcDEfj"; String s2="CabDeFj";
Merci
Il va te falloir créer une méthode ... A priori le plus simple est de passer par des Set. Cependant attention, là j'ai l'impression que ta comparaison ne prend pas la casse en compte, il faudra gérer ça.
J'ai programmé cet methode :
Code:
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
26
27
28
29
30
31
32
33 public class Tests { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String s1="AbcDEfj"; String s2="CabDeFj"; int j=0,k=0; for ( int i = 0; i < s1.length(); ++i ) { char c1 = s1.charAt( i ); char c2 = s1.charAt( i ); j+= (int) c1; k+=(int) c2; } System.out.println(j); System.out.println(k); if(j==k){ System.out.println("true"); }else{ System.out.println("false"); } } }
C'est pratique ou c'est du bricolage ?
Je pense que t'a méthode est efficace seulement dans le cas où les deux String sont de même longueur.
- Il se passe quoi s'il y a plusieurs fois la même lettre ?
- Il se passe quoi si, au lieu de a et z, on peut trouver b et y ?
- Il se passe quoi si la proportion de majuscules et de minuscules n'est pas la même dans les deux Strings ?
=> A priori, non, c'est pas top.
Il suffit de transformer les deux en minuscules, puis de boucler sur les caractères de s1, pour vérifier, chacun d'eux, s'il est dans s2.
@thelvin : voila c la bonne solution et la plus efficace.
Oui vous avez raison. Il faut vérifier tous ces questions.
Juste une question est ce qu'il est recommandée l'utilisation du code ascii en java parceque j'ai entendu parler de l'unicode ?
Jvois pas le rapport. Unicode est conçu pour la rétrocompatibilité avec ASCII. De manière générale, l'utilisation de l'ASCII est recommandée en informatique. En gros pas d'accent, pas de grec, russe, asiatique, hébreux, arabe, rien que les caractères américains très simplistes de l'ASCII.
Java lui-même supporte très bien d'avoir de compiler des sources en utf-8 ou utf-16, d'ailleurs il n'y a pas qu'Unicode et il supporte aussi très bien le latin-1. Mais le reste de tes outils, ça reste à voir.
Merci beaucoup.