Problème exercice débutant java
anoukville
-
anoukville Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
anoukville Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je suis débutante sur Java et je cherche la solution pour un petit exercice d'application (pas très compliqué je pense) mais je n'ai pas encore la logique.
enoncé:
Le but de l'exercice est de programmer le parcours d'un escargot qui doit avancer en ligne droite sur un parcours. En fait, il s'agit plutôt d'un pion sur un plateau de jeu que d'un escargot réel : il doit avancer de 50 cases en faisant des déplacements successifs. A chaque tour de jeu, l'escargot avance d'un certain nombre de cases selon le tirage d'un dé. Autrement dit, il peut avancer de 1 à 6 cases par tour. Le jeu s'arrête quand il a parcouru plus de 50 cases.
A chaque tour de boucle, c'est le numéro de la case où est l'escargot qui est affiché.
(instruction MOOC.auSort(1,6) pour générer le tirage au sort)
Je sais qu'il faut utiliser une boucle While mais je n'y arrive pas, ma boucle est sans fin et je ne trouve pas l'erreur.
code:
Merci de votre aide!
enoncé:
Le but de l'exercice est de programmer le parcours d'un escargot qui doit avancer en ligne droite sur un parcours. En fait, il s'agit plutôt d'un pion sur un plateau de jeu que d'un escargot réel : il doit avancer de 50 cases en faisant des déplacements successifs. A chaque tour de jeu, l'escargot avance d'un certain nombre de cases selon le tirage d'un dé. Autrement dit, il peut avancer de 1 à 6 cases par tour. Le jeu s'arrête quand il a parcouru plus de 50 cases.
A chaque tour de boucle, c'est le numéro de la case où est l'escargot qui est affiché.
(instruction MOOC.auSort(1,6) pour générer le tirage au sort)
Je sais qu'il faut utiliser une boucle While mais je n'y arrive pas, ma boucle est sans fin et je ne trouve pas l'erreur.
code:
public class Exercice4 { public static void main(String[] args){ int nombreDe = MOOC.auSort(1,6); int position = 0; position = position+nombreDe; while (position < 50 ) { System.out.println("position :"); System.out.println(position + nombreDe); } } }
Merci de votre aide!
A voir également:
- Problème exercice débutant java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
3 réponses
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...
anoukville
merci, je ne veux pas la solution toute faite bien sûr mais un indice sur ce qu'il manque ou ce qu'il ne va pas.
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
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); } } }
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
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(" "); } } }