Problème exercice débutant java
Fermé
anoukville
-
Modifié par KX le 26/03/2016 à 10:50
anoukville Messages postés 8 Date d'inscription dimanche 20 mars 2016 Statut Membre Dernière intervention 23 février 2017 - 2 avril 2016 à 19:01
anoukville Messages postés 8 Date d'inscription dimanche 20 mars 2016 Statut Membre Dernière intervention 23 février 2017 - 2 avril 2016 à 19:01
A voir également:
- Problème exercice débutant java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Jeux java itel touche ✓ - Forum Logiciels
- Java bible - Forum Téléchargement
3 réponses
Nxl
Messages postés
1038
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
5 janvier 2017
133
25 mars 2016 à 23:13
25 mars 2016 à 23:13
Salut,
utilises un débogueur, tu trouvera ton erreur parce que si on te donne la solution tu va jamais rien comprendre surtout sur ce genre de notions d'algo super simple...
utilises un débogueur, tu trouvera ton erreur parce que si on te donne la solution tu va jamais rien comprendre surtout sur ce genre de notions d'algo super simple...
Regis59
Messages postés
21143
Date d'inscription
mardi 27 juin 2006
Statut
Contributeur sécurité
Dernière intervention
22 juin 2016
1 321
Modifié par KX le 2/04/2016 à 18:36
Modifié par KX le 2/04/2016 à 18:36
Décortique nous ton code stp (tu vas comprendre ;-))
Explique chaque ligne:
++
Indice: Que donne tes println ?
"Impossible is nothing"
Explique chaque ligne:
int nombreDe = MOOC.auSort(1,6); int position = 0; position = position+nombreDe; while (position < 50 ) { System.out.println("position :"); System.out.println(position + nombreDe);
++
Indice: Que donne tes println ?
"Impossible is nothing"
he bien, j'ai créée une variable correspondant au jeté de dé et dont le résultat est du au hasard,
une seconde variable pour la position de l'escargot initialisée 0
j'ai indiqué que la position est égale à la position actuelle + le nombre indiqué sur le dé
j'ai introduit la boucle While avec comme condition "tant que la position est inférieure 50", 50 correspondant à la ligne d'arrivée
j'affiche le mot "position" en face du quel doit apparître le résultat du calcul position + nombreDe
je vois qu'il y a un truc pas logique mais je n'arrive à déterminer quoi. Déjà je pense que la dernière ligne est inutile puisque j'ai déclaré avant que position = position + nombreDe
une seconde variable pour la position de l'escargot initialisée 0
j'ai indiqué que la position est égale à la position actuelle + le nombre indiqué sur le dé
j'ai introduit la boucle While avec comme condition "tant que la position est inférieure 50", 50 correspondant à la ligne d'arrivée
j'affiche le mot "position" en face du quel doit apparître le résultat du calcul position + nombreDe
je vois qu'il y a un truc pas logique mais je n'arrive à déterminer quoi. Déjà je pense que la dernière ligne est inutile puisque j'ai déclaré avant que position = position + nombreDe
Nxl
Messages postés
1038
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
5 janvier 2017
133
26 mars 2016 à 00:03
26 mars 2016 à 00:03
il faudrait peut-être pouvoir sortir du while non ? Quelque chose comme une incrémentation serait pas mal...
Regis59
Messages postés
21143
Date d'inscription
mardi 27 juin 2006
Statut
Contributeur sécurité
Dernière intervention
22 juin 2016
1 321
Modifié par Regis59 le 26/03/2016 à 00:17
Modifié par Regis59 le 26/03/2016 à 00:17
Oui, tu es en bonne voie.
Tes println t'affichent quels résultats?
(ton while ne fait qu'afficher la... il ne sert pas à grand chose :-/)
Tes println t'affichent quels résultats?
(ton while ne fait qu'afficher la... il ne sert pas à grand chose :-/)
Alors, j'ai réussi MAIS, le problème est que le premier jet dé est bien tiré au sort, mais que les tirages suivants sont identiques au premier.
public class Exercice4 { public static void main(String[] args){ int nombreDe = MOOC.auSort(1,6); int position = 0; while (position < 50 ) { System.out.print("position :"); position = position+nombreDe; System.out.println(position); } } }
anoukville
Messages postés
8
Date d'inscription
dimanche 20 mars 2016
Statut
Membre
Dernière intervention
23 février 2017
Modifié par KX le 2/04/2016 à 18:42
Modifié par KX le 2/04/2016 à 18:42
bonjour, je viens de reprendre mon petit jeu avec l'escargot. on vient de voir la notion de tableau. Le nouvel énoncé de l'exercice avec les escargot est : il y a 5 escargots et à chaque tour de boucle, la position de chaque escargot est affichée sous la forme d'un numéro de case (du plateau de jeu, pas du tableau). Chaque escargot est identifié par un numéro, soit un numéro compris entre 0 et 4, soit un numéro compris entre 1 et 5 et à l'affichage, le numéro de l'escargot est précisé avec sa position.
en gros je dois obtenir quelque chose comme ça:
position escargot 0: 2
position escargot 1: 4
position escargot 2: 3
position escargot 3: 1
position escargot 4: 6
(à chaque nouveau tour, la position doit venir s'additionner à la position précédente)
position escargot 0: 8
position escargot 1: 10
position escargot 2: 7
position escargot 3: 9
position escargot 4: 12
mon problème est que sur mon programme, le nombre du dé s'additionne d'un escargot à l'autre.
un indice ? ;)
merci
en gros je dois obtenir quelque chose comme ça:
position escargot 0: 2
position escargot 1: 4
position escargot 2: 3
position escargot 3: 1
position escargot 4: 6
(à chaque nouveau tour, la position doit venir s'additionner à la position précédente)
position escargot 0: 8
position escargot 1: 10
position escargot 2: 7
position escargot 3: 9
position escargot 4: 12
mon problème est que sur mon programme, le nombre du dé s'additionne d'un escargot à l'autre.
public class Exercice5V1{ public static void main(String[] args){ int[] tab = new int[5]; int position = 0; int nombreDe = 0; int num = 0; while (position < 50) { for (num = 0; num < 5; num = num + 1){ nombreDe = MOOC.auSort(1, 6); tab[num] = position; position = position + nombreDe; System.out.println("position escargot " + num + " : " + position); } } } }
un indice ? ;)
merci
Regis59
Messages postés
21143
Date d'inscription
mardi 27 juin 2006
Statut
Contributeur sécurité
Dernière intervention
22 juin 2016
1 321
1 avril 2016 à 19:45
1 avril 2016 à 19:45
tab[num] = position;
position = position + nombreDe;
Inverser?
position = position + nombreDe;
Inverser?
hum non ça ne marche pas non plus ça me cumule les résultats du dé encore mais sans distinguer les escargots
public class Exercice5V1{ public static void main(String[] args){ int[] tab = new int[5]; int position = 0; int nombreDe = 0; int num = 0; while (position < 50) { for (num = 0; num < 5; num = num + 1){ nombreDe = MOOC.auSort(1, 6); position = position + nombreDe; tab[num] = position; System.out.println("position escargot " + num + " : " + tab[num]); } System.out.println(" "); } } }
Regis59
Messages postés
21143
Date d'inscription
mardi 27 juin 2006
Statut
Contributeur sécurité
Dernière intervention
22 juin 2016
1 321
2 avril 2016 à 08:24
2 avril 2016 à 08:24
num = num + 1 => num++
Regis59
Messages postés
21143
Date d'inscription
mardi 27 juin 2006
Statut
Contributeur sécurité
Dernière intervention
22 juin 2016
1 321
2 avril 2016 à 13:49
2 avril 2016 à 13:49
Au fait, quand tu es dans ce cas la, il est intéressant de vérifier tes valeurs à chaque tour de boucle:
si tab[num] == toujours la même valeur, c'est que l'incrémentation ne se fait pas par exemple...
tu vois?
si tab[num] == toujours la même valeur, c'est que l'incrémentation ne se fait pas par exemple...
tu vois?
25 mars 2016 à 23:19