라벨 문
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이라는 이름의 메서드를 생성하세요. 세 개의 인수를 받습니다:
- 정수의 2차원 배열(
grid) - 찾을 정수(
target) - 첫 번째 발생을 찾은 후 검색을 중지할지 결정하는 불리언(
breakEarly) 메서드는 레이블이 붙은 루프를 사용하여 대상 숫자를 검색하고 발견된 각 위치를 출력해야 합니다.breakEarly가 true인 경우 첫 번째 발생을 찾은 후 중지해야 합니다. 각 발견된 요소는Found at: rowIndex,colIndex형식으로 출력해야 합니다.
치트 시트
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);
}
}직접 해보기
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);
// 2D 배열을 나타내는 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);
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.