Help je boucle !
Résolu
michaelknight00
Messages postés
56
Date d'inscription
Statut
Membre
Dernière intervention
-
le père -
le père -
A voir également:
- Help je boucle !
- Boucle excel sans macro - Forum Excel
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Mise à disposition de boucle locale dédiée ✓ - Forum Freebox
- Vlc lire en boucle ✓ - Forum Lecteurs et supports vidéo
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
14 réponses
Bonjour
x=r.nextInt(nbVilles); ou x=r.nextInt(nbCol); ??
De plus, je ne sais pas comment marche ta fonction appartient, mais as-tu fait ce qu'il faut pour qu'elle ne teste que les éléments déjà remplis de la ligne, et non pas la ligne tout entière ?
x=r.nextInt(nbVilles); ou x=r.nextInt(nbCol); ??
De plus, je ne sais pas comment marche ta fonction appartient, mais as-tu fait ce qu'il faut pour qu'elle ne teste que les éléments déjà remplis de la ligne, et non pas la ligne tout entière ?
Bonjour,
A priori je déplacerais l'instruction tab[i][j] = x; après la parenthèse fermante qui suit pour que la boucle J soit prise en compte.
En espérant aider.
A priori je déplacerais l'instruction tab[i][j] = x; après la parenthèse fermante qui suit pour que la boucle J soit prise en compte.
En espérant aider.
coucou
Pour mon père :
oui c'est bien x=r.nextInt(nbCol);, j'ai mal copié...
De plus, comme tu l'as fait remarquer je teste la ligne entièrement.
Mais le problème vient effectivement de ma fonction appartient(), qui renvoie toujours true, et je ne comprend pas pkoi :
public static boolean appartient(int tab[], int x) {
boolean b = false;
for(int i=0;i<tab.length;i++) {
if(tab[i] == x);
b = true;
}
return b;
}
Sinon j'ai une autre solution mais qui donne la même chose :
public static boolean appartient(int tab[], int x) {
for(int i=0;i<tab.length;i++) {
if(tab[i] == x);
return true;
}
return false;
}
Pour mon père :
oui c'est bien x=r.nextInt(nbCol);, j'ai mal copié...
De plus, comme tu l'as fait remarquer je teste la ligne entièrement.
Mais le problème vient effectivement de ma fonction appartient(), qui renvoie toujours true, et je ne comprend pas pkoi :
public static boolean appartient(int tab[], int x) {
boolean b = false;
for(int i=0;i<tab.length;i++) {
if(tab[i] == x);
b = true;
}
return b;
}
Sinon j'ai une autre solution mais qui donne la même chose :
public static boolean appartient(int tab[], int x) {
for(int i=0;i<tab.length;i++) {
if(tab[i] == x);
return true;
}
return false;
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je ne suis pas pro du java et je me méfie des tableaux à plusieurs dimensions dont on passe une colonne (ou une ligne) à une fonction. Ne peux-tu pas écrire le test d'appartenance directement dans la boucle de remplir?
si mais ça sera un peu moins propre...
Je vais faire comme ça et tester.
Si ça t'intéresse je te tiens au courant sur ce forum de mes résultats !
Merci ciao
Je vais faire comme ça et tester.
Si ça t'intéresse je te tiens au courant sur ce forum de mes résultats !
Merci ciao
Merci, ce qui m'intéreserait surtout c'est de savoir pourquoi ça ne marche pas actuellement.
J'ai téléchargé java hier pour m'y mettre, alors j'espère comprendre bientôt
Salut
J'ai téléchargé java hier pour m'y mettre, alors j'espère comprendre bientôt
Salut
Slt si c'est du java tu devrai eviter if(tab[i] == x); et utiliser les methode fournis par java tel que equals(), chatAt(), . . . qui sont bcp mieu.
Il se peut que ca vienne de la.
La doc fournie plein de methode pour la classe Array il devrai y en avoir une qui effectue le test que tu fait ici.
Il se peut que ca vienne de la.
La doc fournie plein de methode pour la classe Array il devrai y en avoir une qui effectue le test que tu fait ici.
c'est gentil mais les méthodes que tu me donnes sont des méthodes qui s'appliquent aux chaînes de caractères (String) et pas trop trop aux tableaux si je ne m'abuse ;)
C'est bon j'ai débugué ma fonction appartient, en enlevant le ";" à la fin du if...
Et oui erreur de gros naze mais les gros nazes sont ceux qui l'ont pas remarqué !!! eheheh
Par contre le mystère reste entier sur remplir()...
Et oui erreur de gros naze mais les gros nazes sont ceux qui l'ont pas remarqué !!! eheheh
Par contre le mystère reste entier sur remplir()...
j'avoue me sentir concerné par ton histoire de nazisme...
ça ne marche toujours pas ? Note que telle qu'est écrite ta fonction appartient, elle doit avoir sérieusement tendance à refuser les 0 sauf en dernier élément d'une ligne
De plus, le premier nombre que tu essayes en début de ligne est toujours le dernier de la ligne précédente. Pas très aléatoire.
ça ne marche toujours pas ? Note que telle qu'est écrite ta fonction appartient, elle doit avoir sérieusement tendance à refuser les 0 sauf en dernier élément d'une ligne
De plus, le premier nombre que tu essayes en début de ligne est toujours le dernier de la ligne précédente. Pas très aléatoire.
Et oufffffff
Ca y est enfin...
Pour le père (qui etes aux cieux... lol) :
Merci pr tes conseils, j'ai rajouté un compteur pour que la fonction appartient ne teste que les éléments déjà remplis de la ligne, et non pas la ligne tout entière.
J'ai aussi rendu à 100% aléatoire ma fonction remplir ;)
Et enfin j'ai rajouté un cas d'arret au while pour quitter quand j'ai passé tous mes éléments en revue (c'est ca qui bouclait)
Allé a plus !!
Ca y est enfin...
Pour le père (qui etes aux cieux... lol) :
Merci pr tes conseils, j'ai rajouté un compteur pour que la fonction appartient ne teste que les éléments déjà remplis de la ligne, et non pas la ligne tout entière.
J'ai aussi rendu à 100% aléatoire ma fonction remplir ;)
Et enfin j'ai rajouté un cas d'arret au while pour quitter quand j'ai passé tous mes éléments en revue (c'est ca qui bouclait)
Allé a plus !!