Bonjour
J'ai un problème avec Java, et je ne sais pas si c'est ma syntaxe qui est fausse, Java qui bug ou l'IDE.
Je doit rechercher une chaîne de caractère dans un String et j'utilise str.indexOf() pour tester la présence ou l'absence de la chaîne.
J'entre le code, lance le programme et les résultats n'ont aucun sens:
(La méthode gagne est bien appelé dans une autre méthode)
J'ai essayer plusieurs librairies Java au cas ou le problème viendrait de là mais le résultat ne change pas.
Je ne sais pas si il y a d'autre méthode que str.indexOf() mais j'ai aussi testé le str.contains() et le résultat reste faux.
Je met le code complet à disposition pour ceux qui voudrait tester:
Merci de me dire si j'utilise mal la méthode mais je viens de commencé les Strings.
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 public static String genere() { char tab[] = { ':', '-', '(', ')' }; String car = ""; for (int i = 0; i < 10; i++) { car += tab[(int) (Math.random() * 4)]; } return car; } public static boolean gagne(String s) { System.out.println(s.indexOf(":-)")); return (s.indexOf(":"+"-"+")") > -1); } public static void joue() { System.out.println(genere()); if (gagne(genere()) == true) System.out.println("Gagné !"); else System.out.println("Perdu !"); }
Partager