클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

배열 6 - 반복문과 배열 실습 본문

프로그래밍 언어/자바

배열 6 - 반복문과 배열 실습

huenuri 2024. 8. 12. 12:18

이제 좀더 어려운 배열 실습 문제를 풀어보기로 하자. 엘리스 실습 문제는 책에 있는 내용보다는 쉬우니 이것부터 진행해보고 있다.


 

 

실습 4 - 평균 구하기

 

첫번째 도전

 

 

배열로 평균을 구하는 방법을 실습해보았다. 아직 배열이 익숙하지 않아서 혼자서 풀지는 못했고 정답을 참고하며 풀어보았다. 합계의 변수에 배열로 가져온 모든 합을 sum에 넣어야 하는데 여기에 한 개만 들어간 것 같다. 다시 풀어야 할 것 같다.


 

 

다시 풀어보기

 

sum에 점수를 모두 더해주었더니 이제 평균이 잘 출력되었다. 어떻게 푸는지 조금 알 것 같다.




 

 

실습 5 - 첫 짝수 구하기

 

1. break를 사용했을 때

 

 

break를 쓰니 첫번째로 만나는 짝수를 출력하면 바로 빠져나가서 그 다음 반복문을 진행하지 않는다. 여기에 break를 쓰지 않으면 어떻게 될까? 이렇게 나온다.


 

 

 

 

2. break를 사용하지 않았을 때

 

break를 사용하지 않았더니 이렇게 짝수인 모든 수가 출력되는 것을 볼 수 있다.


 

 

 

 

실습 6 - 향상된 for 문

배열의 요소를 하나하나 출력하는 예제를 풀어보자. 향상된 for문은 기존에 사용했던 방식과 조금 달라서 생소했다.

 

 

 

이렇게 사용하면 인덱스 범위 오류가 발생한다. sum += iArray[i];는 배열의 인덱스를 기반으로 값을 더하려고 한다. 하지만 i는 배열의 요소 자체를 나타내기 때문에, 이 코드는 잘못된 인덱스로 접근하게 된다. 그렇기에 배열 범위를 벗어나 ArrayIndexOutOfBoundsException 오류를 발생시키는 것이다.


 

 

 

 

이제 합계도 잘 출력이 되고 있다. 이 방식은 foreach문으로 작성하는 거였다. 여기에 대해서는 책을 통해서 좀더 심화 학습이 필요할 것 같다.

 


 

 

 

학습을 마치고

다음은 2차원 배열 문제가 남아있는데 이 부분은 좀 어려우니 수업 예제와 책에 나온 문제들을 풀어보고 이 학습을 진행하려고 한다.

공부하는 게 재미있지는 않다. 어떻게 하면 즐겁게 할 수 있을지 고민이다.