강의로 돌아가기
-

while문 실습예제 2번 질문입니다.

//실행 중 오류가 발생했습니다.
//실행시간이 10초를 초과하여 실행이 중단되었습니다.

작성중인 코드―WhileExam.java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class WhileExam{
  public static void main(String[] args){
    int i = 1;
    int a = 0;
    while(i<11){
            a = i%2;
      if (a == 0){
        System.out.println(i);
        i++; 
      }
    }
  }
}
2 개의 답변
-

코드 들여쓰기를 조정하면 다음과 같이 보이는데요.

public class WhileExam{
  public static void main(String[] args){
    int i = 1;
    int a = 0;
    while(i<11){
      a = i%2;
      if (a == 0){
        System.out.println(i);
        i++; 
      }
    }
  }
}

지금 작성하신 코드의 흐름을 짚어보면

  1. a=i%2 에서 a는 1이 됩니다.
  2. if(a==0)에서 a는 1이므로 false이기 때문에 if문이 실행되지 않습니다
  3. while(i<11) 에서 i는 1이기 때문에 truewhile문이 실행됩니다.
  4. ai의 값이 변경되지 않고, 1-2-3-1-2-3-1-2-3 과정이 계속 반복됩니다.

좀 더 생각해보세요

-

고맙습니다.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.