책 내용 질문하기
최신기출유형 3회 문제5번(JAVA문제) 질문드립니다.
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
106
조회수
140
작성일
2017-04-14
작성자
첨부파일

답안지 답 (5,6)

실행결과값이 hap 부분은 6인것을 알겠는데..

do ~ while 문에서 i 가 나갈때 조건이 while(i<5) 이니까 i는 4 에서 빠져나와야 되는거 아닌가해서 질문드립니다.

답변
2017-04-14 10:54:20

안녕하세요.

i와 hap는 0에서 시작합니다.

do를 진입

++i에 의해 i는 1이 됩니다.

i%2가 1이므로 hap += i를 수행하지 않습니다.

while 조건 i<5가 참이므로

do를 진입

++i에 의해 i는 2가 됩니다.

i%2가 0이므로 hap += i를 수행하여 hap은 2가 됩니다.

while 조건 i<5가 참이므로

do를 진입

++i에 의해 i는 3이 됩니다.

i%2가 1이므로 hap += i를 수행하지 않습니다.

while 조건 i<5가 참이므로

do를 진입

++i에 의해 i는 4가 됩니다.

i%2가 0이므로 hap += i를 수행하여 hap은 6이 됩니다.

while 조건 i<5가 참이므로

do를 진입

++i에 의해 i는 5가 됩니다.

i%2가 1이므로 hap += i를 수행하지 않습니다.

while 조건 i<5가 거짓이므로 반복문을 빠져나옵니다.

i는 5, hap은 6이 됩니다.

오늘도 즐거운 하루 되세요.

  • *
    2017-04-14 10:54:20

    안녕하세요.

    i와 hap는 0에서 시작합니다.

    do를 진입

    ++i에 의해 i는 1이 됩니다.

    i%2가 1이므로 hap += i를 수행하지 않습니다.

    while 조건 i<5가 참이므로

    do를 진입

    ++i에 의해 i는 2가 됩니다.

    i%2가 0이므로 hap += i를 수행하여 hap은 2가 됩니다.

    while 조건 i<5가 참이므로

    do를 진입

    ++i에 의해 i는 3이 됩니다.

    i%2가 1이므로 hap += i를 수행하지 않습니다.

    while 조건 i<5가 참이므로

    do를 진입

    ++i에 의해 i는 4가 됩니다.

    i%2가 0이므로 hap += i를 수행하여 hap은 6이 됩니다.

    while 조건 i<5가 참이므로

    do를 진입

    ++i에 의해 i는 5가 됩니다.

    i%2가 1이므로 hap += i를 수행하지 않습니다.

    while 조건 i<5가 거짓이므로 반복문을 빠져나옵니다.

    i는 5, hap은 6이 됩니다.

    오늘도 즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.