Occurence
tic
-
tic -
tic -
Bonjour,
Je débute en java et je dois ecrire un programme Occ.java lisant tous les arguments passés sur la ligne de commande et recherchant si le premier argument existe dans la suite de la ligne.J'ai essayé de le faire mais ça ne marche pas,voici mon code:
Je débute en java et je dois ecrire un programme Occ.java lisant tous les arguments passés sur la ligne de commande et recherchant si le premier argument existe dans la suite de la ligne.J'ai essayé de le faire mais ça ne marche pas,voici mon code:
class Occ { public static void main(String args[]) { int d;String b; b=args[0]; for(int i=1;i<=args.length;i++) { i=i+1; if (args[i]==b) { System.out.println("TROUVE"); } else { System.out.println("Non trouve"); } } } }
A voir également:
- Occurence
- Google sheet compter le nombre d'occurence ✓ - Forum Excel
- Compter nombre d'occurences sous deux conditions ✓ - Forum Excel
- Supprimer occurence mot word ✓ - Forum Word
- Compter le nombre fois qu'une occurence apparait suivant 2 critères ✓ - Forum Google Docs
- Compter le nombre d’occurrences de la valeur d'une cellule dans une plage - Forum Excel
2 réponses
Bonjour,
Plusieurs choses.
D'une part les indices commencent à 0, donc si ton tableau est de taille n, le dernier indice c'est n-1, pas n.
Il ne faut donc pas faire
De plus, les String sont des objets, l'opérateur
Enfin, tu as une double incrémentation dans ta boucle, il y a le
Remarque : ta variable
Plusieurs choses.
D'une part les indices commencent à 0, donc si ton tableau est de taille n, le dernier indice c'est n-1, pas n.
Il ne faut donc pas faire
i<=args.lengthmais
i<=args.length-1ou plus simplement
i<args.length.
De plus, les String sont des objets, l'opérateur
==va comparer deux objets pour dire s'ils sont identiques, mais ce que te veux toi c'est comparer deux objets pour savoir s'ils ont la même valeur. Pour cela tu as la méthode
equals.
Enfin, tu as une double incrémentation dans ta boucle, il y a le
i++mais aussi
i=i+1;, il ne faut en garder qu'un seul, sinon ça comparera seulement un argument sur deux...
Remarque : ta variable
dne sert à rien.
Merci d'avoir repondu!Pour le i=i+1 je l' ai fait car je veux que la comparaison commence a partir de arg[1],car ça ne sert a rien que je compare arg[0] et arg[0].
J'ai essayé d'utiliser la methode equals en faisant ceci if (args[i]equalsb) mais à la compilation j'ai quelques erreurs
J'ai essayé d'utiliser la methode equals en faisant ceci if (args[i]equalsb) mais à la compilation j'ai quelques erreurs
"je veux que la comparaison commence a partir de arg[1]"
Ça tu l'as déjà pris en compte dans l'initialisation
Si tu deux incrémentations (i=i+1 et i++) ça veut dire que tu vas aller de 2 en 2, tu commenceras donc à 1 puis tu passeras au 3, sans tester le 2 (idem pour le 4, le 6...)
"if (args[i]equalsb) mais à la compilation j'ai quelques erreurs"
Tu m'étonnes...
Il faudrait que tu apprennes les bases de Java, en l'occurrence ici sur l'appel des méthodes.
https://forums.commentcamarche.net/forum/affich-37622112-java-les-methodes
Ça tu l'as déjà pris en compte dans l'initialisation
int i=1qui exclu de fait i==0
Si tu deux incrémentations (i=i+1 et i++) ça veut dire que tu vas aller de 2 en 2, tu commenceras donc à 1 puis tu passeras au 3, sans tester le 2 (idem pour le 4, le 6...)
"if (args[i]equalsb) mais à la compilation j'ai quelques erreurs"
Tu m'étonnes...
Il faudrait que tu apprennes les bases de Java, en l'occurrence ici sur l'appel des méthodes.
https://forums.commentcamarche.net/forum/affich-37622112-java-les-methodes