Menu
Coddy logo textTech

Istruzioni con etichetta

Fa parte della sezione Logica e flusso del percorso Java di Coddy. Lezione 35 di 59.

Le istruzioni con etichetta in Java ti permettono di contrassegnare punti specifici nel codice e di controllare il flusso usando le istruzioni break e continue con queste etichette. Le etichette sono particolarmente utili quando lavori con cicli annidati.

Crea un ciclo annidato con un'etichetta:

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

Usa continue con un'etichetta:

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

Sfida

Facile

Crea un metodo chiamato findNumber che accetta tre argomenti:

  1. Un array 2D di interi (grid)
  2. Un intero (target) da trovare
  3. Un valore booleano (breakEarly) che determina se la ricerca deve interrompersi dopo aver trovato la prima occorrenza. Il metodo deve usare un ciclo con etichetta per cercare il numero target e stampare ogni posizione in cui viene trovato. Se breakEarly è true, deve interrompersi dopo aver trovato la prima occorrenza. Ogni elemento trovato deve essere stampato nel formato: Found at: rowIndex,colIndex

Provalo tu

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) {
        // Scrivi qui il tuo codice
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Leggi la stringa JSON che rappresenta un array 2D
        String gridString = scanner.nextLine();
        // Leggi il numero da cercare
        int target = Integer.parseInt(scanner.nextLine());
        // Leggi il flag 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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Java online