JAVA - 7

Date:

카테고리:

태그:

img

렌트카 대여 서비스로 간단한 시나리오 작성해보기

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 메서드는 입력받은 조건에 따라 차량을 검색하는 로직을 구현한 메서드입니다. 이 메서드는 다음과 같은 동작을 수행합니다:

  1. 가격대 조건에 따라 차량을 추가합니다:
    • 가격대가 30,000원에서 50,000원인 경우: “티볼리”와 “셀토스”를 리스트에 추가합니다.
    • 가격대가 50,000원에서 100,000원인 경우: “아반떼”, “쏘렌토”, “카니발”을 리스트에 추가합니다.
    • 가격대가 100,000원에서 200,000원인 경우: “제네시스 G80”, “벤츠-EQ EQS”, “벤츠 G클래스”, “BMW 7시리즈”, “그랜저”를 리스트에 추가합니다.
  2. 차량 종류 조건에 따라 차량을 필터링합니다:
    • 세단을 선택한 경우: “아반떼”, “제네시스 G80”, “BMW 7시리즈”, “그랜저”를 리스트에 남기고, 나머지 차량은 제거합니다.
    • SUV를 선택한 경우: “쏘렌토”, “티볼리”, “셀토스”, “벤츠-EQ EQS”, “벤츠 G클래스”를 리스트에 남기고, 나머지 차량은 제거합니다.
    • 승합차를 선택한 경우: “카니발”을 리스트에 남기고, 나머지 차량은 제거합니다.
  3. 차량 크기 조건에 따라 차량을 필터링합니다:
    • 소형을 선택한 경우: “티볼리”, “셀토스”를 리스트에 남기고, 나머지 차량은 제거합니다.
    • 준중형 ~ 중형을 선택한 경우: “쏘렌토”, “제네시스 G80”, “벤츠 G클래스”, “아반떼”를 리스트에 남기고, 나머지 차량은 제거합니다.
    • 준대형 ~ 대형을 선택한 경우: “제네시스 G80”, “BMW 7시리즈”, “벤츠-EQ EQS”, “카니발”, “그랜저”를 리스트에 남기고, 나머지 차량은 제거합니다.
  4. 제조사 조건에 따라 차량을 필터링합니다:
    • 국산차를 선택한 경우: “아반떼”, “제네시스 G80”, “티볼리”, “셀토스”, “그랜저”, “카니발”, “쏘렌토”를 리스트에 남기고, 나머지 차량은 제거합니다.
    • 외제차를 선택한 경우: “벤츠-EQ EQS”, “벤츠 G클래스”, “BMW 7시리즈”를 리스트에 남기고, 나머지 차량은 제거합니다.
  5. 차량 색상 조건에 따라 차량을 필터링합니다:
    • 흰색을 선택한 경우: “티볼리”, “아반떼”, “쏘렌토”, “제네시스 G80”, “벤츠-EQ EQS”를 리스트에 남기고, 나머지 차량은 제거합니다.
    • 검은색을 선택한 경우: “셀토스”, “그랜저”, “카니발”, “벤츠 G클래스”, “BMW 7시리즈”를 리스트에 남기고, 나머지 차량은 제거합니다.
  6. 검색 결과를 확인합니다:
    • 만약 차량 리스트가 비어있다면, “조건에 해당하는 차량이 없습니다. 다른 조건으로 검색해주세요.”라는 메시지를 출력합니다.
    • 차량 리스트에 차량이 있는 경우, “조건에 해당하는 차량은 [차량1, 차량2, …] 입니다.”라는 메시지를 출력합니다.
  7. 최종적으로 차량 리스트를 반환합니다.

이렇게 searchCarsWithConditions 메서드는 입력된 조건에 따라 차량을 필터링하고, 해당하는 차량 리스트를 반환합니다.

java 카테고리 내 다른 글 보러가기

댓글 남기기