본문 바로가기

Android (Kotlin)/mini projects13

[Hotel Reservation] 호텔 예약 프로그램 lv.2.1 수정된 부분 데이터 클래스 사용법 공부 후 적용해 보았다.! (https://occhiolism.tistory.com/43) sortBy 추가 공부하고 적용했다. (https://occhiolism.tistory.com/30) 느낀점 대충 이해하고 넘기면 적용할 때 시간소요가 상당히 많이 되는 것 같다. 한번 공부할 때 예제 여러개 확인 하고 규칙이랑 활용방법을 제대로 익히면 시간은 조금 걸려도 장기전으로 봤을 때에는 시간은 절약하는 방법인 것 같다! 응용 코드가 작동이 안돼니까 답답해서 어제 데이터 클래스든 sortBy 공부하기 너무 싫었는데 차근차근 천천히 보고 이해하고 적용하니까 기분이 너무 좋다 :) package com.example.hotelreservationprogramme fun main.. 2023. 12. 3.
[Hotel Reservation] 호텔 예약 프로그램 lv2.0 lv2 1. 메뉴에서 2번을 눌러 호텔 예약자 목록을 보여줘요. (예시. 1. 사용자: ㅇㅇㅇㅇ, 방 번호: ㅇㅇㅇ호, 체크인: 2023-07-21. 체크아웃: 2023-08-01) 메뉴에서 3번을 눌러 호텔 예약자 목록을 정렬 기능을 사용하여 체크인 날짜순으로 오름차순으로 정렬해 봐요 2. 예약 플로우를 수정해 봐요. 해당 체크인 체크아웃 날짜에 선택한 방 번호를 예약 가능한지 불가능한지 판단하게 변경해 봐요. 3. 예약이 불가능하면 체크인, 체크아웃 날짜를 변경해서 다시 검사해 보는 플로우를 만들어봐요. 수정된 부분 메인 메뉴에서 4번을 누르면 코드가 종료되도록 바꾸어주었다 메인 메뉴 선택 부분의 코드를 if 문에서 when 문으로 바꾸어주었다. 가독성이 높아짐. 호텔 예약 부분에서 입력 받은 고객 .. 2023. 12. 2.
[Hotel Reservation] 호텔 예약 프로그램 lv.1.1 수정된 부분 클래스의 주생성자를 정리해주었다! 어차피 클래스 내부에 있는 함수의 매개변수에 값이 들어가기 때문에 장황하게 클래스 주생성자에도 변수들을 표시해 줄 필요가 없었다. try catch문을 이용하여 입력된 값이 정수인지 확인해 줄 수 있는 클래스를 만들었고 모든 readLine()!!.toInt()에 적용시켜 주었다. 코드 분석 각 객체에 단일책임원칙에 따라 한가지 기능을 수행하는 함수를 하나씩 넣었다. 개방 폐쇄 원칙에 따라 작성: - 확장에 열려있다: lv1.0에서 lv1.1으로 수정할 때 ReadLineExceptionInt라는 클래스를 추가하고 원래 있었던 부모 추상 클래스 CheckIfValid에 상속시켰다. ->기존 코드 수정없이 기능 확장을 하였다. - 변경에 닫혀있다: 기능에 변경.. 2023. 12. 2.
[Hotel Reservation] 호텔 예약 프로그램 lv.1.0 lv1 과제 1. 사용자가 호텔 예약을 할 수 있는 메뉴를 표시하세요. (번호는 1~6번까지 만들어봐요.) 2. 메뉴에서 4번을 누르면 호텔 예약 프로그램을 종료할 수 있어요 3. 예약 플로우는 성함을 입력받고 방 번호를 입력받고 체크인 날짜를 입력받고 체크아웃 날짜를 입력받아요 4. 1번을 눌러 방 예약을 받을 수 있도록 구현해 봐요 5. 방 번호는 100~999호실까지 존재해요 6. 체크인 날짜는 지금 날짜와 비교해서 이전날짜는 입력받을 수 없고 체크아웃 날짜는 체크인 날짜보다 이전이거나 같을 수는 없어요 7. 입력이 완료되면 임의의 금액을 지급해 주고 랜덤으로 호텔 예약비로 빠져나가도록 구현해 봐요 처음 접근할 때에는 전부다 main function에 넣어서 1단계 로직의 흐름대로 코드를 작성했다... 2023. 12. 1.