Menu
Coddy logo textTech

Sentencias Etiquetadas

Parte de la sección Lógica y Flujo del Journey de Java de Coddy. Lección 35 de 59.

Las sentencias de etiqueta en Java le permiten marcar puntos específicos en su código y controlar el flujo utilizando las sentencias break y continue con estas etiquetas. Las etiquetas son particularmente útiles cuando se trabaja con bucles anidados.

Crea un bucle anidado con una etiqueta:

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

Usa continue con una etiqueta:

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

Desafío

Fácil

Crea un método llamado findNumber que acepte tres argumentos:

  1. Una matriz 2D de enteros (grid)
  2. Un entero (target) que se debe encontrar
  3. Un booleano (breakEarly) que determina si la búsqueda debe detenerse después de encontrar la primera aparición. El método debe usar un bucle etiquetado para buscar el número objetivo e imprimir cada posición donde se encuentre. Si breakEarly es true, debe detenerse después de encontrar la primera aparición. Cada elemento encontrado debe imprimirse con el formato: Found at: rowIndex,colIndex

Pruébalo tú mismo

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) {
        // Escribe tu código aquí
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Lee la cadena JSON que representa un arreglo 2D
        String gridString = scanner.nextLine();
        // Lee el número objetivo
        int target = Integer.parseInt(scanner.nextLine());
        // Lee la bandera `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 iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo

Practica por tu cuenta: Compilador de Java online