for 블록이 끝나면 1~100까지 더한 값, sum을 출력해야 되는데요. 실행결과 1~100까지 합계가 나오지 않았습니다. 원하는 결과가 나오지 않았을 때는 코드를 다시 살펴봅니다. 아! 하나 빼먹었네요. 무엇이 빠졌는지 눈치챘나요?
for 블록 안 코드는 인덱스에 있는 값을 sum에 순서대로 반복해 넣어주는 코드입니다. 마지막에 100이라는 값이 들어있었기 때문에 100을 출력한 것입니다. 값들을 더하려면 쭉 누적돼야 합니다. sum에 0번 인덱스의 값인 1을 넣고, 1에 1번 인덱스 값 2를 더하고, 더한 값을 sum에 넣는 과정을 반복하며 쭉 누적시킵니다.
public class ArrayWithFor {
public static void main(String[] args) {
int[] iarray = new int[100];
for(int i = 0; i < iarray.length; i++) {
iarray[i] = i + 1;
}
int sum = 0;
for(int i = 0; i < iarray.length; i++) {
sum = sum + iarray[i];
}
System.out.println(sum);
}
}
실행결과
5050
코드를 수정하고 다시 실행시키니 이번에는 제대로 1~100까지 더한 값인 5050을 출력합니다. 이러한 방법으로 배열을 이용하면 더 다양한 코드를 작성할 수 있습니다.