맘야의 이런저런 이야기들

Java 기초 강의 완료! 본문

맘야의 컴퓨터 이야기 /코딩 = [ for i in ( try ) ] ^^

Java 기초 강의 완료!

맘야 2023. 5. 9. 05:00
반응형

 우선, 귀한 강의자료를 올려주신 유튜버 "나도코딩"님께 정말 감사드린다.

 

 "Hello World!!" 를 출력하면서부터 시작된 9시간 분량의 Java 기초강의를 마쳤다. SQL 과 Python 기초과정을 수료한 후 듣는 거라서 처음에는 한결 쉬웠으나, 강의 후반부로 갈수록 약간 힘들어졌다. '배열'과 함수'는 Python 에서 잠깐 경험해 봤을 뿐 거의 처음 배워본 개념이다. 특히, 2~3차 배열과 다중 For 문에서는 시간을 지체했다. 함수에서는 과제를 잘 풀지 못할 정도로 개념을 잡기 힘들었다. 리스트만 생각하다가 코드 줄 수는 늘어만 갔고 결과는 나오지 않았다. ㅎㅎ 

 

 한번 풀어볼 텐가? 

 

 

 출력 결과는 아래와 같게 하면 된다. 

 

     성명 : 성**

     주민번호 : 123456-0******

     전화번호 : 010-1234-****

 

 

 필자는 입력받은 데이터로 리스트를 만든 다음에 출력을 해보려 시도했으나 리스트를 만드는 단계부터 무척 헤매었다. -_-;; 겨우겨우 name 을 입력받아 리스트를 만드는 메서드를 작성하긴 했다. "*" 로 가려야 하는 부분은 한참을 생각해 보았고 결국, 해결하지 못하고 포기했다. 풀이를 보니 너무나도 간단한 코드로 만들어지는 것을 보며 자신을 탄식했다. ㅠㅠㅠ 

 

 

 위 과제는 조건문과 반복문 챕터에서의 과제이다. 필자는 기존에 가지고 있던 지식을 총 동원해서 과제를 마쳤는데, 풀이보다 더 진보한 결과를 내었다. 그래서 한 번 올려본다. Java 를 잘 다루는 분이 보시기엔 다소 민망하나 필자가 현재까지 배운 걸 총 동원해서 풀어본 과제이므로 귀엽게 봐주셨으면 한다. 

 

 

 사용자로부터 입력을 받을 생각으로 Scanner 를 import 하였다. 

 

 

 변수는 '주차요금', '일일최대요금', '할인율'로 우선 3개를 선언했다. 위 변수 값을 변경 가능하게끔 만들어보고 싶었다. 요금과 할인율을 마음껏 조정해 볼 수 있다. 

 

 

 while 문을 사용하여 '주차 시간'과 '차량 종류'를 입력받는다. 주차시간을 입력받는 부분은 (int) Math.ceil() 함수를 사용해서 정수가 아닌 실수를 입력하더라도 오류 없이 정수로 변환해서 반환하도록 했다. 예외처리라는 것도 있던데 후반부 강의라서 아직은 못 들었다. 아마도 Python 에서 처럼 입력값이 틀릴 경우 오류가 나면서 멈추는 걸 방지하기 위한 방법 같은데 나중에 들어보겠다. 

 

 

 pay 에 주차요금을 계산해서 넣은 다음 차량 종류를 입력받는데 nextDouble() 함수를 써서 역시나 실수를 입력할 경우를 대비했고 while 문 안에 while 문을 하나 더 넣어서 일반 차량과 할인 차량을 구분하여 pay 를 disCount 할 건지 결정했다. else 문에는 차량 종류를 잘 못 입력했을 경우 다시 안내를 해주고 있다. 

 

 

 출력하는 부분이다. 일일최대요금을 초과하였을 경우와 그렇지 않은 경우를 구분하여 각각 출력하게 된다. 실행해 본 결과 오류 없이 잘 돌아갔다. 

 

 

 출력된 결과값이다. 정상적으로 할인 적용이 되면서 무한루프가 된다. 첫 while 문 시작부분에 index++ 을 해주어 손님 숫자가 계속 누적되게 하였는데 잘 동작한다. 

 

 

 '실수'를 입력했을 경우 높은 정수로 반환하고 차량을 잘 못 선택했을 경우 입력을 다시 받는다. 

 

 

 위처럼 숫자가 아닌 문자가 입력되면 오류가 나면서 멈추는데, 해결은 '예외처리'를 배워야만 가능할 것 같다. 차차 배워갈 것이니 걱정은 하지 않는다.

 

 3가지 코딩 언어의 기초과정을 배워보면서 느낀 것은 언어가 지향하는 바가 비슷하다는 것이다. 문법에서 약간 차이가 있을 뿐 개념적인 부분은 같았다. 특히, 연산, 조건, 반복, 배열, 함수는 지향하는 바가 똑같았다. 개발하는 콘텐츠에 따라서 코딩 언어를 선택하면 될 것 같다.

 

 필자는 또 다른 언어를 맛보기 해보려 한다. 맛보기를 많이 하면 할수록 좋다고 생각한다. 왜냐면, '땅을 깊게 파려면 우선은 넓게 파야한다.'라는 말을 믿기 때문이다. 

 

 그럼, 즐거운 생활을 바라며 또 보자~ 

 

 

728x90
반응형
Comments