라벨 문
Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨 — 59개 중 35번째.
Java의 레이블 문을 사용하면 코드의 특정 지점을 표시하고, 이러한 레이블과 함께 break 및 continue 문을 사용하여 흐름을 제어할 수 있습니다. 레이블은 특히 중첩된 루프를 다룰 때 유용합니다.
레이블이 있는 중첩 루프를 생성합니다:
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);
}
}챌린지
쉬움세 개의 인자를 받는 findNumber라는 이름의 메서드를 생성하세요:
- 정수형 2D 배열 (
grid) - 찾고자 하는 정수 (
target) - 첫 번째 일치 항목을 찾은 후 검색을 중단할지 여부를 결정하는 불리언 (
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);
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.