Skip to content

InaJeong73/JavaProject

Repository files navigation

first-Ina-project

고속도로 차량관리 시스템 README

시스템 개요

고속도로를 통행하는 차량을 관리하고 통행료를 계산하는 고속도로 차량관리 시스템입니다. 이 시스템은 차량 데이터를 vehicles.txt에 미리 정의하고, 차량 종류별 기본요금 및 거리요율을 rates.txt에 정의합니다.

기능 및 명령어

1. 시간 설정 (t)

  • 현재 시간을 설정합니다. 시간은 연/월/일/시/분으로 표현됩니다.
  • 새로운 시간이 설정되면 시간이 진행된 만큼 고속도로상의 모든 차량의 위치를 다시 계산합니다. 새로운 시간 설정으로 현재 시간이 차량이 고속도로를 진출해야 하는 시간을 지나는 경우 그 차량의 통행료를 계산합니다.

2. 차량 진입 (n)

  • 차량을 고속도로로 진입시킵니다. 설정된 현재 시간이 진입 시간이 됩니다.
  • 이 명령의 부가 정보로 차량 번호, 진입 장소, 진출 장소, 속도가 주어집니다.

3. 고속도로상의 모든 차량 보기 (o)

  • 현재 시간에 고속도로 상에 위치하는 모든 차량의 정보를 출력합니다.
  • 출력 정보에는 차량 종류, 차량 번호, 속성 정보 (예, 배기량), 진입 시간, 진입 장소, 진출 장소, 속도, 위치가 포함됩니다.

4. 고속도로를 진출한 모든 차량 정보 보기 (x)

  • 현재 시간에 고속도로 통행을 종료한 모든 차량의 정보를 출력합니다.
  • 출력 정보에는 차량 종류, 차량 번호, 속성 정보, 진입 시간, 진입 장소, 진출 장소, 진출 시간, 통행료가 포함됩니다.

5. 현재 시간 보기 (c)

  • 현재 시간 값을 표시합니다.

6. 시스템 종료 (q)

명령 예시

1. 시간 설정

   - 명령 형식
      > 명령(t) 시간정보
      // 설정한 현재시간을 출력한다.
      // 현재시간 보다 이전 시간을 입력한 경우 Exception으로 처리한다.
  
  - 입력예시
      > t 2023 5 10 14 30 // 2023년 5월 10일 14시 30분
      
  - 출력예시
      현재시간: 2023/05/10, 14:30

2. 차량 진입

  - 명령 형식
    > 명령(n) 차량번호 진입장소 진출장소 속도
    // 차량이 정상적으로 진입했다면 차량 진입 정보를 출력한다.
    // 존재하지 않는 차량의 경우 - Exception으로 처리한다.
    // 차량이 이미 고속도로 상에 존재하는 경우 - Exception으로 처리한다.

 - 입력예시
    > n 1234 서울 대전 100 // 1234 차량, 서울->대전, 시속 100km로 주행
    
 - 출력예시
    승용차 1234 진입 
    진입시간: 2023/05/10:14:30 // 진입시간은 현재시간과 동일함
    진입장소: 서울
    진출장소: 대전
    시속: 100km

3. 고속도로상의 모든 차량 보기

    - 명령 형식
      > 명령(o)
      // 고속도로 상에 있는 모든 차량의 정보를 출력한다.
      // 차량 종류, 진입시간 순서로 정렬하여 출력한다. 차량 순서는 승용차, 하이브리드 승용차, 버스, 트럭 순이다.
      // 고속도로 상에 차량이 없다면 “통행 차량이 없습니다!”라고 출력한다.
    
    - 입력예시
        > o
    - 출력예시 // 현재시간을 15:30이라고 가정
        1. car 1234 2000cc 2023/05/10:14:30 서울->대전 시속:100km 위치:100km
        2. hybrid car 2345 1500cc 2023/05/10:15:00 수원-> 부산 시속:120km 위치:100km
        3. bus 3456 45인승 2023/05/10:15:00 부산->서울 시속:120km 위치:330km

4. 고속도로를 진출한 모든 차량 정보보기

    - 명령 형식
      > 명령(x) 
      // 진출한 차량이 있다면 차량 정보와 차량 위치를 출력한다.
      // 차량 종류, 진입시간 순서로 정렬하여 출력한다. 차량 순서는 승용차, 하이브리드 승용차, 버스, 트럭 순이다.
      // 진출한 차량이 없다면 “진출한 차량이 없습니다!”라고 출력한다.
      
    - 입력예시
        > x // 현재시간을 2023/05/10:16:30이라고 가정
    
    - 출력예시 
        1. car 1234 2000cc 2023/05/10:14:30 서울->대전 2023/05/10:16:06 6800원// (진출시간:2023/05/10:16:06) (통행료: 6800원) 
        2. ...

5. 현재시간 보기

   - 입력예시
       > c
   - 출력예시 
      2023/05/10:16:30

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages