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

객체와 클래스 21 - 단원 마무리 연습문제 실습편 풀기 : 7~9번 본문

프로그래밍 언어/자바

객체와 클래스 21 - 단원 마무리 연습문제 실습편 풀기 : 7~9번

huenuri 2024. 8. 20. 15:53

이제 6문제만 풀면 이 연습문제도 끝이 난다. 오늘까지는 자바를 공부하고 오늘 저녁부터나 JSP 공부로 들어갈 수 있을 것 같다. 이 공부도 아마 일주일 이상 하게 될 것 같다. 

그럼 바로 이어서 공부를 시작해보자!


 

 

 

 

연습문제 실습편 문제 풀기

 

7번 문제

하루의 할일을 표현하는 클래스 작성하라.

 

 

하지만 프로그램이 종료되면 exception 에러가 뜨고 프로그램을 종료합니다라는 문구가 2번이나 나오는 등 계속해서 오류가 발생했다. 이 문제를 풀기 위해 아침 쉬는 시간동안 정말 많은 시간을 투자했고 드디어 해결했다. 이럴 때가 가장 기쁘다.


 

 

 

 

코드 다시 수정하기

 

 

원래 문제에는 날짜가 정해져 있어서 그 외의 날짜를 입력할 때의 기능은 없었지만 한번 추가해보았다. 그리고 날짜를 30일로 고정하는 방법도 있지만 day.length를 사용해 바꿀 수도 있었다.


 

 

 

 

문제 8번

이름(name), 전화번호(tel) 필드와 생성자 등을 가진 Phone 클래스를 작성하라.

 

 

 

 

 

드디어 풀었다. 이 한 문제 푸는데 한 시간 넘게 걸렸지만 그래도 뿌듯한 시간이었다. 아직 잘 모르는 부분이 많지만 한번 더 복습하면 충분히 풀어볼 수 있을 것 같다.


 

 

 

 

문제 9번

다음 2개의 static을 가진 ArrayUtil 클래스를 만들어보라.

 

 

 

 

concat으로 배열의 요소를 붙이는 건 처음 해보는 거라 많이 어려웠지만 그래도 이해할 수 있었다. 여기서 주의할 부분은 배열의 길이를 붙일 때 a를 연결한 끝부분 다음부터 b를 붙여야 한다는 것이다. 처음에 이 부분을 잘못 써서 b의 배열 요소만 출력이 되었고 나머지 값은 0이 되고 말았다.

 

print 메소드가 a 배열의 요소만 출력하는 이유

print 메소드는 오직 전달된 배열 a의 요소만 출력한다. 이 메소드가 concat 메소드와 함께 사용될 때, concat 메소드는 두 배열을 연결하여 새로운 배열을 생성하고, 이 새로운 배열을 print 메소드에 전달한다. print 메소드는 전달받은 배열의 모든 요소를 출력하므로, concat 메소드가 생성한 배열이 출력되는 것이다.

그러니까 a의 배열 요소에 b의 배열 요소를 모두 붙였으므로 a만 출력을 해도 둘다 출력이 된다.


 

 

 

학습을 마치고

여기까지 해서 7~9번까지 3문제를 풀었다. 하지만 포스트가 많이 길어지기도 했고 이제 아주 어려운 문제만 남았으니 한 템포 쉬고 다음 문제를 풀어보려고 한다.

이제 두 교시 수업만 남아있다. 여기까지 문제를 푸느라 애썼다.