Menu
Coddy logo textTech

Instrukcje etykietujące

Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 35 z 59.

Instrukcje etykiet w języku Java pozwalają oznaczać konkretne miejsca w kodzie i sterować przepływem za pomocą instrukcji break i continue z użyciem tych etykiet. Etykiety są szczególnie przydatne podczas pracy z zagnieżdżonymi pętlami.

Utwórz zagnieżdżoną pętlę z etykietą:

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

Użyj continue z etykietą:

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

Wyzwanie

Łatwy

Utwórz metodę o nazwie findNumber, która przyjmuje trzy argumenty:

  1. Dwuwymiarową tablicę liczb całkowitych (grid)
  2. Liczbę całkowitą (target), której należy szukać
  3. Wartość logiczną (breakEarly), która określa, czy wyszukiwanie ma się zakończyć po znalezieniu pierwszego wystąpienia. Metoda powinna używać pętli z etykietą do wyszukania liczby docelowej i wypisywać każdą pozycję, w której ją znaleziono. Jeśli breakEarly ma wartość true, wyszukiwanie powinno zakończyć się po znalezieniu pierwszego wystąpienia. Każdy znaleziony element powinien być wypisany w formacie: Found at: rowIndex,colIndex

Spróbuj swoich sił

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) {
        // Wpisz tutaj swój kod
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Wczytaj ciąg JSON reprezentujący tablicę 2D
        String gridString = scanner.nextLine();
        // Wczytaj szukaną liczbę
        int target = Integer.parseInt(scanner.nextLine());
        // Wczytaj 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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ sterowania

Poćwicz samodzielnie: Kompilator Java online