continue문에 대해 제가 잘못이해하고 있는걸까요?
311
콩콩이
작성한 질문수 2
0
public static void main(String[] args) {
int max = 5;
String[] movement = new String[]{"R", "R", "R", "U", "D", "D"};
int x = 1;
int y = 1;
for (int i = 0; i < movement.length; i++) {
if (movement[i] == "L") {
y--;
}
if (movement[i] == "R") {
y++;
}
if (movement[i] == "U") {
x--;
}
if (movement[i] == "D") {
x++;
}
if (x > max || y > max || x < 1 || y < 1) {
continue;
}
System.out.println(x + "," + y);
}
// System.out.println(x + "," + y);
}
이렇게 메인함수를 작성했습니다.
제 생각에는 세 번의 R 이동 후 ( 1,2 -> 1,3 -> 1,4) U에서 조건 범위를 벗어나 1,4 상태로 D로 이동.
D 루프의 결과 2,4
마지막 D루프의 결과 3,4
이렇게 출력되어야 할 것 같은데
1,2
1,3
1,4
1,4
2,4
이렇게 출력이 됩니다.
GPT를 검색하니
5번만 출력이 되는 이유는 continue문에서 1,4 를 출력하지 않아서
1,2 -> 1,3 -> 1,4 -> 1,4(continue) -> 1,4 -> 2, 4 이렇게 출력이 되었다고 하는데
이게 맞다면
continue 문을 돌고난 이후 첫번째 D루프에서 x의 값이 증가하지 않는 이유가 궁금합니다.
답변 2
0
네 맞아요. 그런데 i 가 4일때랑 5일때가 각각2,4 -> 3,4 가 되어서 마지막에 3,4까지 출력이 되는게 맞지않을까 싶은데 마지막이 지피티 대답에서는 i가 4일때랑 5일따가 각각 1, 4 2,4가 되는듯해서 질문남겼습니다!!
강의 추천해주세요
2
27
1
케이테스트 서버 운영 방법
2
49
1
cpu&memory 재설정하기에 질문이 있습니다.
1
52
2
안티그라비티 저는 오픈폴더라고 나와요ㅜ
1
34
2





