프로젝트/개인 개발일지
[Java/Toy Project] 하루만에 만든 나만의 교통수단 선택기
Se On
2024. 8. 16. 01:20
교통수단 선택기(Transportation Selector)
사용자가 목적지, 출발/도착 예정 시간, 예산을 입력하면 가장 적합한 교통수단을 추천해줍니다. 본 프로그램은 택시, 지하철, 따릉이 중에서 선택할 수 있으며, 예산과 소요 시간을 기준으로 가장 효율적인 교통수단을 결정합니다.
- 개발 환경: Java, eclipse
- 개발 기간: 2024.08.11.
핵심 기능
핵심 기능은 다음과 같습니다.
- 목적지 선택: 제공된 목적지 중 하나를 선택합니다.
- 출발/도착 예정 시간 입력: 출발 시간과 도착 예정 시간을 입력합니다.
- 예산 입력: 사용 가능한 최대 예산을 입력합니다.
- 교통수단 추천: 예산과 소요 시간을 기준으로 '택시', '지하철', '따릉이' 중 가장 적합한 교통수단을 추천합니다.
코드 구조 및 주요 메서드
이 프로그램은 두 개의 주요 클래스(Main과 Transport)로 구성되어 있습니다.
- Main 클래스: 사용자의 입력을 받아 목적지, 출발 시간, 도착 시간, 예산을 처리한 후, 교통수단을 선택하여 탑승 및 하차 과정을 출력합니다.
- Transport 추상 클래스: Taxi, Subway, Ddareungi와 같은 구체적인 교통수단 클래스의 부모 클래스이며, 교통수단을 선택하는 로직을 포함하고 있습니다.
주요 메서드(chooseTransport)는 다음과 같습니다.
- chooseTransport(int calculatedTime, int budget, String destination): 주어진 예산과 시간에 따라 적절한 교통수단을 반환합니다.
- 택시: 예산이 10,000원 이상이고 소요 시간이 20분 이하인 경우.
- 지하철: 예산이 5,000원 이상이고 소요 시간이 40분 이하인 경우.
- 따릉이: 예산이 2,000원 이상이고 소요 시간이 60분 이하인 경우.
개발 과정
- 처음에는 교통수단별 요금과 소요 시간을 어떻게 계산할지 고민했지만, 위와 같은 간단한 가정을 통해 문제를 해결했습니다.
- 하루 안에 완성하기 위해 불필요한 기능은 과감히 생략하고, 핵심 기능에 집중했습니다.
- 번호를 선택하여 목적지 결과값이 나오게 하기 위해 Map 문법을 공부해 사용했습니다.
결과
우선은 간단한 기능만 구현했지만, 앞으로 출발 및 도착 시간을 받는 형식을 바꾸고 예외 처리도 해 보고 싶습니다.
총평
짧은 시간 안에 프로젝트를 완성하면서 원하는 기능을 구현하기 위해 어떤 로직을 짜야할지, 어떤 기준으로 클래스를 나누어야 할지 고민을 많이 해 볼 수 있었습니다. 앞으로도 배운 내용을 활용해 다양한 아이디어를 바탕으로 새로운 프로젝트에 도전해 보고 싶습니다.
https://github.com/seonmin5/Java_TransportProject
GitHub - seonmin5/Java_TransportProject
Contribute to seonmin5/Java_TransportProject development by creating an account on GitHub.
github.com
반응형