문제 4. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.
라고 작성 되어있는데 아무리 실행 결과를 분석해보고 java프로그램으로 돌려봐도
결과는 마지막 값이 10, 55로 리턴됩니다.
문제의 의도가 반복문의 i의 최종값 11과 hap의 최종값 55를 구하는 건지, 전체 프로그램 결과인 system.out.println의 i와 hap의 값을 구하는 건지 헷갈려서 문의드립니다.
11,55가 맞는건가요??
풀이 결과 첨부합니다.
public class Problem {
public static void main(String[] args) {
int i, hap = 0;
for(i=1;i<=10;++i) {
hap+=i;
System.out.printf("%d, %d\n", i, hap);
}
}
}
1, 1
2, 3
3, 6
4, 10
5, 15
6, 21
7, 28
8, 36
9, 45
10, 55
안녕하세요 길벗수험서 운영팀입니다.
코드를 잘못 이해하셨습니다.
printf문은 for문에 포함되지 않습니다.
for문이 수행하는 것은 hap+= i; 일 뿐, for문의 반복이 모두 종료된 이후에 i와 hap의 최종값이 출력되는 형태입니다.
i는 for문을 벗어날 때, 증가값(++i)을 수행하고 조건식(i<=10)에서 거짓(false)이 되며 빠져나가므로 11의 값을 갖게 됩니다.
행복한 하루되세요 :)
-
관리자2020-10-07 10:14:07
안녕하세요 길벗수험서 운영팀입니다.
코드를 잘못 이해하셨습니다.
printf문은 for문에 포함되지 않습니다.
for문이 수행하는 것은 hap+= i; 일 뿐, for문의 반복이 모두 종료된 이후에 i와 hap의 최종값이 출력되는 형태입니다.
i는 for문을 벗어날 때, 증가값(++i)을 수행하고 조건식(i<=10)에서 거짓(false)이 되며 빠져나가므로 11의 값을 갖게 됩니다.
행복한 하루되세요 :)