Menu
Coddy logo textTech

Instructions étiquetées

Fait partie de la section Logique & Flux du Journey Java de Coddy — leçon 35 sur 59.

Les instructions étiquetées en Java permettent de marquer des points spécifiques dans votre code et de contrôler le flux à l'aide des instructions break et continue avec ces étiquettes. Les étiquettes sont particulièrement utiles lors du travail avec des boucles imbriquées.

Créez une boucle imbriquée avec une étiquette :

outer: for(int i = 0; i < 3; i++) {
   for(int j = 0; j < 3; j++) {
       if(i * j == 4) {
           break outer;
       }
   }
}

Utiliser continue avec une étiquette :

firstLoop: for(int i = 0; i < 3; i++) {
   for(int j = 0; j < 3; j++) {
       if(j == 1) {
           continue firstLoop;
       }
       System.out.println(i + "," + j);
   }
}
challenge icon

Défi

Facile

Créez une méthode nommée findNumber qui prend trois arguments :

  1. Un tableau 2D d'entiers (grid)
  2. Un entier (target) à trouver
  3. Un booléen (breakEarly) qui détermine si la recherche doit s'arrêter après avoir trouvé la première occurrence. La méthode doit utiliser une boucle étiquetée pour rechercher le nombre cible et imprimer chaque position où il est trouvé. Si breakEarly est true, elle doit s'arrêter après avoir trouvé la première occurrence. Chaque élément trouvé doit être imprimé au format : Found at: rowIndex,colIndex

Aide-mémoire

Les étiquettes en Java permettent de marquer des points spécifiques dans votre code et de contrôler le flux à l'aide des instructions break et continue avec ces étiquettes.

Créez une boucle imbriquée avec une étiquette :

outer: for(int i = 0; i < 3; i++) {
   for(int j = 0; j < 3; j++) {
       if(i * j == 4) {
           break outer;
       }
   }
}

Utilisez continue avec une étiquette :

firstLoop: for(int i = 0; i < 3; i++) {
   for(int j = 0; j < 3; j++) {
       if(j == 1) {
           continue firstLoop;
       }
       System.out.println(i + "," + j);
   }
}

Essayez vous-même

import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;

public class Main {
    public static void findNumber(int[][] grid, int target, boolean breakEarly) {
        // Écrivez votre code ici
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Lire la chaîne JSON représentant un tableau 2D
        String gridString = scanner.nextLine();
        // Lire le nombre cible
        int target = Integer.parseInt(scanner.nextLine());
        // Lire le drapeau breakEarly
        boolean breakEarly = Boolean.parseBoolean(scanner.nextLine());
        
        Type gridType = new TypeToken<int[][]>(){}.getType();
        int[][] grid = new Gson().fromJson(gridString, gridType);
        
        findNumber(grid, target, breakEarly);
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux