Comment mettre un point de jonction sur java ?

Fermé
labypro Messages postés 2 Date d'inscription mercredi 6 avril 2016 Statut Membre Dernière intervention 6 avril 2016 - Modifié par KX le 6/04/2016 à 19:44
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 6 avril 2016 à 19:56
Bonjour, je suis actuellement en Terminale S en option ISN (Informatique et sciences du numérique). Nous réalisons en ce moment un projet visant à résoudre un labyrinthe automatiquement en java (logiciel javascool).
Question : existe-t-il une fonction permettant d'introduire un point de jonction et une autre fonction permettant de stopper une boucle "while" si une condition est remplie ?
Remarque : la fonction random(1,4); choisit un nombre entre 1 et 3 (4 n'est pas inclus).

void main() {
   int n = 0;
   while (n != 50) {
      int a = random(1, 4);
      n = n + a;
      if (n == 13){
alors:
     aller au point de jonction
       stopper la boucle while 
      }
sinon ne rien faire
      println(n);
   }
}
point de jonction =?


Merci d'avance.
A voir également:

1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
6 avril 2016 à 19:56
Bonjour,

Les instructions label/goto ou équivalent sont difficilement compatibles avec des langages structurés et de surcroît des langages objets comme Java.

En particulier il est impossible comme dans ton exemple que le "point de jonction" se trouve en dehors de la méthode main...

En revanche, il y a les instructions break/continue qui permettent de manipuler les boucles en plus de la condition de bouclage.

void main() {
   int n = 0;
   while (n != 50) {
      // le continue renvoie ici
      int a = random(1, 4);
      n = n + a;
      if (n == 13) {
          break;
      }
      if (n < 20) {
          continue;
      }
      println(n);
   }
   // le break renvoie ici
}

Remarque : on peut faire la même chose sans ces instructions.

void main() {
   int n = 0;
   while (n != 50 && n !=13) {
      int a = random(1, 4);
      n = n + a;
      if (n != 13 && n>=20) {
          println(n);
      }
   }
}

Le tutoriel officiel : Control Flow Statements > Branching Statements
0