관리 메뉴

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

반복문과 배열 그리고 예외 처리 28 - 연습문제 실습편 풀어보기 4 : 14~16번 문제 본문

프로그래밍 언어/자바

반복문과 배열 그리고 예외 처리 28 - 연습문제 실습편 풀어보기 4 : 14~16번 문제

huenuri 2024. 8. 15. 12:19

이제 이번 단원의 마지막 포스트가 될 것 같다. 이 한 단원을 학습하는데 무려 27개의 포스트를 기록했다. 이제 딱 3문제가 남아있는데 정말 어려운 문제이고 문제도 길어서 여기는 스캔을 해서 문제를 수록해보려고 한다.

얼마 남지 않았으니 조금만 더 힘을 내자. 포기하고 다음 단원으로 넘어가고 싶은 마음도 많았으나 그래도 끝까지 최선을 다해 보기로 했다.

 

요즘에는 내 포스트를 읽는 사람이 없어서 너무나도 좋다. 전에 벨로그를 할 때는 GCC에서 만난 사람들이 거의 매일 와서 내 학습일지와 일기 등을 모두 읽으니 마음이 찝찝할 때가 많았다. 그곳에 있던 블로그를 모두 정리해서 티스토리로 옮기는 중이다. 비공개로 아무리 써도 사람들에게 다 보이는 이상한 블로그였다.

보는 사람이 있으면 처음 시작할 때는 의무감에 쓰게 되어 좋은 점도 있지만 어느 순간부터 무척 불편하고 오히려 방해가 된다는 걸 많이 느꼈다. 내가 하고 싶은 이야기도 마음껏 할 수 없고 말이다. 지금은 너무나 좋다. 앞으로 난 그 누구에게도 내 블로그를 알려주지 않을 생각이다. 포폴을 보여주는 목적이 아니라면..

이제 학습을 시작해보자!


 

 

 

 

문제 14번

 

 

 

 

이렇게 하니 없는 과목입니다가 계속 중복된다. 이 부분을 한번 고쳐보자!


 

 

 

 

 

잘 출력이 되고 있다. 이제 다음 문제도 풀어보기로 하자!


 

 

 

 

문제 15번

 

 

 

 

두 수를 입력하면 이렇게 잘 출력이 된다. 하지만 실수를 입력했을 때는 문제가 발생한다.

 

 

 

 

이 문제를 해결하는 것이 14번 문제이다.


 

 

 

 

 

책과는 조금 다른 예제로 만들어보았다. 그랬더니 계속 입력이 안되고 여기서 끝나버리는 문제가 발생했다. 키를 눌러도 응답이 없었다.


 

 

 

 

다른 방식으로 풀어보기

 

 

이 코드에서는 실수를 입력하면 다음에 다시 입력하는 공간이 나온다. 이렇게 되어야 하는데 앞의 코드는 뭔가 잘못된 것 같다.


 

 

 

다시 고쳐본 코드

 

 

 

이제 내가 원하는 코드로 완성되었다. 이전에는 한번 연산을 하면 다시 하는 기능이 없었으나 여기서는 계산을 한번 해도 Y를 누르면 계속할 수 있다. 그리고 다른 키를 입력하면 프로그램이 종료된다.

이 코드를 짜기까지 정말 힘들었지만 그래도 뿌듯하다. 책에 나온 정답을 그대로 가져와서 베끼는 것은 아무 의미가 없기 때문이다. 시간은 많이 걸려도 이렇게 느린 학습을 계속하기로 다짐해 본다.


 

 

 

 

 

문제 16번

 

 

 

 

 

가위 바위 보가 아닌 걸 입력했을 때는 잘못 입력했다는 문구가 뜨도록 했고, 계속할지 묻는 조건문도 만들었다. 정말 어려운 문제였는데 자료를 찾아가며 풀어볼 수 있었다.

혼자서는 절대로 풀 수 없는 문제였다. 이제 이 코드를 스스로 암기하여 풀 수 있도록 훈련하는 일이 남아있다.


 

 

 

 

학습을 마치고

가장 어려웠던 문제까지 해서 어제부터 30개의 연습문제를 모두 풀었다. 사실 어제 이걸 다 풀고 다른 학습까지 진행해보려고 했는데 그건 정말 무리한 목표였다.

오늘 아침 7시부터 시작해서 쉬지 않고 12시 15분까지 걸린 걸 보면 말이다. 이제 반복문, 배열, 예외처리까지 많이 익숙해졌다. 다음은 클래스 학습을 시작하려고 한다.

 

하지만 아침부터 정말 열심히 공부했으니 2~3시간 정도 내게 휴식을 줄 생각이다.