Comment mettre un point de jonction sur java ?

labypro Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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