JAVA - 7
카테고리: java

렌트카 대여 서비스로 간단한 시나리오 작성해보기
Customer.java // 고객 클래스
Customer 클래스는 고객 정보를 저장하고 처리하는 클래스입니다. 해당 클래스에는 다음과 같은 멤버 변수와 메서드가 포함되어 있습니다:
- 멤버 변수:
name: 고객 이름을 저장하는 문자열 변수phoneNumber: 고객 전화번호를 저장하는 문자열 변수username: 고객 아이디를 저장하는 문자열 변수password: 고객 비밀번호를 저장하는 문자열 변수priceRange: 차량 가격대를 나타내는 정수 변수priceRangeText: 차량 가격대를 나타내는 문자열 변수carType: 차량 종류를 나타내는 정수 변수carTypeText: 차량 종류를 나타내는 문자열 변수carSize: 차량 크기를 나타내는 정수 변수carSizeText: 차량 크기를 나타내는 문자열 변수manufacturer: 제조사를 나타내는 정수 변수manufacturerText: 제조사를 나타내는 문자열 변수carColor: 차량 색상을 나타내는 정수 변수carColorText: 차량 색상을 나타내는 문자열 변수Date: 예약 날짜를 저장하는 문자열 변수cars: 차량 목록을 저장하는 문자열 리스트
- 생성자:
Customer: 기본 생성자로, 클래스의 멤버 변수들을 초기화합니다.
- 메서드:
inputInfo: 고객 정보를 입력받는 메서드입니다. 이름, 전화번호, 아이디, 비밀번호를 입력받아 해당 멤버 변수에 저장합니다.pickDate: 예약 날짜를 선택하는 메서드입니다. 사용자로부터 날짜를 입력받고, 올바른 형식의 날짜인지 확인한 후Date멤버 변수에 저장합니다.login: 고객 로그인을 처리하는 메서드로, 고객의 아이디를 출력합니다.searchCars: 차량을 조회하는 메서드입니다. 사용자로부터 가격대, 차량 종류, 차량 크기, 제조사, 차량 색상을 입력받고, 해당 조건에 맞는 차량을 조회합니다.searchCarsWithConditions: 입력받은 조건에 따라 차량을 조회하는 메서드입니다. 이 메서드는 실제로 차량 목록을 검색하는 로직이 구현되어 있습니다. 입력된 조건에 맞는 차량을cars리스트에 저장하고, 결과를 출력합니다.
searchCarsWithConditions 메서드는 입력받은 조건에 따라 차량을 검색하는 로직을 구현한 메서드입니다. 이 메서드는 다음과 같은 동작을 수행합니다:
- 가격대 조건에 따라 차량을 추가합니다:
- 가격대가 30,000원에서 50,000원인 경우: “티볼리”와 “셀토스”를 리스트에 추가합니다.
- 가격대가 50,000원에서 100,000원인 경우: “아반떼”, “쏘렌토”, “카니발”을 리스트에 추가합니다.
- 가격대가 100,000원에서 200,000원인 경우: “제네시스 G80”, “벤츠-EQ EQS”, “벤츠 G클래스”, “BMW 7시리즈”, “그랜저”를 리스트에 추가합니다.
- 차량 종류 조건에 따라 차량을 필터링합니다:
- 세단을 선택한 경우: “아반떼”, “제네시스 G80”, “BMW 7시리즈”, “그랜저”를 리스트에 남기고, 나머지 차량은 제거합니다.
- SUV를 선택한 경우: “쏘렌토”, “티볼리”, “셀토스”, “벤츠-EQ EQS”, “벤츠 G클래스”를 리스트에 남기고, 나머지 차량은 제거합니다.
- 승합차를 선택한 경우: “카니발”을 리스트에 남기고, 나머지 차량은 제거합니다.
- 차량 크기 조건에 따라 차량을 필터링합니다:
- 소형을 선택한 경우: “티볼리”, “셀토스”를 리스트에 남기고, 나머지 차량은 제거합니다.
- 준중형 ~ 중형을 선택한 경우: “쏘렌토”, “제네시스 G80”, “벤츠 G클래스”, “아반떼”를 리스트에 남기고, 나머지 차량은 제거합니다.
- 준대형 ~ 대형을 선택한 경우: “제네시스 G80”, “BMW 7시리즈”, “벤츠-EQ EQS”, “카니발”, “그랜저”를 리스트에 남기고, 나머지 차량은 제거합니다.
- 제조사 조건에 따라 차량을 필터링합니다:
- 국산차를 선택한 경우: “아반떼”, “제네시스 G80”, “티볼리”, “셀토스”, “그랜저”, “카니발”, “쏘렌토”를 리스트에 남기고, 나머지 차량은 제거합니다.
- 외제차를 선택한 경우: “벤츠-EQ EQS”, “벤츠 G클래스”, “BMW 7시리즈”를 리스트에 남기고, 나머지 차량은 제거합니다.
- 차량 색상 조건에 따라 차량을 필터링합니다:
- 흰색을 선택한 경우: “티볼리”, “아반떼”, “쏘렌토”, “제네시스 G80”, “벤츠-EQ EQS”를 리스트에 남기고, 나머지 차량은 제거합니다.
- 검은색을 선택한 경우: “셀토스”, “그랜저”, “카니발”, “벤츠 G클래스”, “BMW 7시리즈”를 리스트에 남기고, 나머지 차량은 제거합니다.
- 검색 결과를 확인합니다:
- 만약 차량 리스트가 비어있다면, “조건에 해당하는 차량이 없습니다. 다른 조건으로 검색해주세요.”라는 메시지를 출력합니다.
- 차량 리스트에 차량이 있는 경우, “조건에 해당하는 차량은 [차량1, 차량2, …] 입니다.”라는 메시지를 출력합니다.
- 최종적으로 차량 리스트를 반환합니다.
이렇게 searchCarsWithConditions 메서드는 입력된 조건에 따라 차량을 필터링하고, 해당하는 차량 리스트를 반환합니다.
댓글 남기기