Menu
Coddy logo textTech

라벨 문

Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨 — 59개 중 35번째.

Java의 레이블 문을 사용하면 코드의 특정 지점을 표시하고, 이러한 레이블과 함께 breakcontinue 문을 사용하여 흐름을 제어할 수 있습니다. 레이블은 특히 중첩된 루프를 다룰 때 유용합니다.

레이블이 있는 중첩 루프를 생성합니다:

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

레이블과 함께 continue를 사용하세요:

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

챌린지

쉬움

세 개의 인자를 받는 findNumber라는 이름의 메서드를 생성하세요:

  1. 정수형 2D 배열 (grid)
  2. 찾고자 하는 정수 (target)
  3. 첫 번째 일치 항목을 찾은 후 검색을 중단할지 여부를 결정하는 불리언 (breakEarly) 이 메서드는 레이블이 지정된 루프(labeled loop)를 사용하여 대상 숫자를 검색하고, 숫자가 발견된 각 위치를 출력해야 합니다. 만약 breakEarly가 true이면, 첫 번째 일치 항목을 찾은 후 중단해야 합니다. 발견된 각 요소는 Found at: rowIndex,colIndex 형식으로 출력되어야 합니다.

직접 해보기

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) {
        // 여기에 코드를 작성하세요
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 2차원 배열을 나타내는 JSON 문자열을 읽습니다
        String gridString = scanner.nextLine();
        // 대상 숫자를 읽습니다
        int target = Integer.parseInt(scanner.nextLine());
        // `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 icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리와 흐름의 모든 레슨