/java-worldcup

월드컵 조별 리그의 경기 결과과 저장되어있는 파일을 읽고 결과를 출력하는 프로그램이다.

Primary LanguageJava

카타르 월드컵 조별 리그 결과 출력 프로그램

월드컵 조별 리그의 경기 결과과 저장되어있는 파일을 읽고 결과를 출력하는 프로그램이다.

기능 요구 사항

  • 월드컵 경기 결과가 저장된 파일을 사용해야 한다. (src/java/resources/MatchResult.txt)

    A조 카타르 vs 에콰도르 0 : 2
    B조 잉글랜드 vs 이란 6 : 2
    A조 세네갈 vs 네덜란드 0 : 2
    B조 미국 vs 웨일스 1 : 1
    C조 아르헨티나 vs 사우디아라비아 1 : 2
    
    ...
    
    H조 대한민국 vs 포르투갈 2 : 1
    H조 가나 vs 우루과이 0 : 2
    G조 카메룬 vs 브라질 1 : 0
    G조 세르비아 vs 스위스 2 : 3
    
  • 각 조별 순위는 다음 우선순위에 따라 결정된다. 본 프로그램에서는 3가지 사항만 고려한다.

    1. 승점 (경기 결과에 따라 부여되는 점수. 승리시 3점, 무승부시 1점 패배시 0점을 부여한다.)
    2. 득실차 (모든 경기를 통틀어 넣은 골 수 - 먹힌 골 수 를 나타낸다. )
    3. 득점 (모든 경기를 통틀어 넣은 골 수를 나타낸다.)
  • 각 조에서 2위까지 16강에 진출한다.

  • 출력하고자 하는 항목에 대한 번호를 입력받는다. (실행 결과 예시 참고)

    • 1 : 각 조별 경기 결과를 출력한다.

      • 각 조별 경기 결과를 출력한다.
    • 2 : 각 조별 결과를 출력 (승, 무, 패, 승점, 득실차, 득점)

      • 조 안에서 높은 순위를 갖는 팀의 결과부터 출력한다.
    • 3 : 출전 국가 이름을 입력 받고 결과를 출력한다.

      • 경기 결과와 16강 진출 여부를 출력한다.
      • 16강 진출 여부에 따라 다음 문구를 출력한다.
        • N조 M위로 16강 진출에 성공했습니다.
        • N조 M위로 16강 진출에 실패했습니다.
    • 4 : 16강 진출 국가 출력

    • 5 : 프로그램 종료

  • 월드컵 출전 국가 출력 등의 추가적인 기능을 만들어본다.

  • 사용자가 잘못된 값을 입력할 경우 IllegalArgumentException를 발생시키고, "[ERROR]"로 시작하는 에러 메시지를 출력 후 그 부분부터 입력을 다시 받는다.

입출력 요구 사항

입력

  • 출력할 항목에 대한 입력을 받는다. 1,2,3,4,5의 숫자만 입력할 수 있으며 올바른 값이 아닌 경우 예외 처리한다.
    3
    
  • 8개의 조(A ~ H) 중 하나를 입력 받는다. 대소문자는 구분하지 않는다.
    H
    
  • 월드컵 출전 국가 이름을 입력 받는다. 월드컵의 출전하지 않은 국가는 허용하지 않는다.
    대한민국
    

출력

  • 게임 시작 문구

    카타르 월드컵 조별리그 결과
    
  • 게임 종료 문구

    프로그램을 종료합니다.
    
  • 예외 상황 시 에러 문구를 출력해야 한다. 단, 에러 문구는 "[ERROR]"로 시작해야 한다.

    [ERROR] 월드컵 출전 국가가 아닙니다.
    
  • 나머지는 실행 결과 예시를 참고한다.

실행 결과 예시

카타르 월드컵 조별리그 결과

1. 경기 결과 출력
2. 조별 결과 출력
3. 국가 경기 및 순위 결과 출력
4. 16강 진출 국가 출력
5. 종료

출력할 내용을 입력하세요. (1 ~ 5)
1

A조
카타르 vs 에콰도르 0 : 2
세네갈 vs 네덜란드 0 : 2
카타르 vs 세네갈 1 : 3
네덜란드 vs 에콰도르 1 : 1
네덜란드 vs 카타르 2 : 0
에콰도르 vs 세네갈 1 : 2

B조
잉글랜드 vs 이란 6 : 2
...
...

H조
포르투갈 vs 가나 3 : 2
우루과이 vs 대한민국 0 : 0
대한민국 vs 가나 2 : 3
포르투갈 vs 우루과이 2 : 0
대한민국 vs 포르투갈 2 : 1
가나 vs 우루과이 0 : 2
============================================================

1. 경기 결과 출력
2. 조별 결과 출력
3. 팀 결과 출력
4. 16강 진출 국가 출력
5. 종료

출력할 내용을 입력하세요. (1 ~ 5)
2

출력할 조를 입력하세요 (A ~ H)
H

H조
1위 포르투갈, 승 : 2, 무 : 0, 패 : 1, 승점 : 6, 득실차 : 2, 득점 : 6
2위 대한민국, 승 : 1, 무 : 1, 패 : 1, 승점 : 2, 독실차 : 0, 득점 : 4
3위 우루과이, 승 : 1, 무 : 1, 패 : 1, 승점 : 2, 독실차 : 0, 득점 : 2
4위 가나, 승 : 1, 무 : 0, 패 : 2, 승점 : 3, 득실차 : -2, 득점 : 5
============================================================
    
1. 경기 결과 출력
2. 조별 결과 출력
3. 팀 결과 출력
4. 16강 진출 국가 출력
5. 종료

출력할 내용을 입력하세요. (1 ~ 5)
3

출력할 국가를 입력하세요 (월드컵 출전 국가)
대한민국

대한민국
승 : 1, 무 : 1, 패 : 1, 승점 : 2, 골득실 : 0, 득점 : 4

우루과이 vs 대한민국 0 : 0
대한민국 vs 가나 2 : 3
대한민국 vs 포르투갈 2 : 1

H조 2위로 16강 진출에 성공했습니다.    
============================================================

1. 경기 결과 출력
2. 조별 결과 출력
3. 팀 결과 출력
4. 16강 진출 국가 출력
5. 종료

출력할 내용을 입력하세요. (1 ~ 5)
4

A조
1위 네덜란드
2위 세네갈

B조
1위 잉글랜드
2위 미국

...

H조
1위 포르투갈
2위 대한민국
============================================================

1. 경기 결과 출력
2. 조별 결과 출력
3. 팀 결과 출력
4. 16강 진출 국가 출력
5. 종료

출력할 내용을 입력하세요. (1 ~ 5)
5

프로그램을 종료합니다.

라이브러리

  • camp.nextstep.edu.missionutils에서 제공하는 Console API를 사용하여 구현해야 한다.
    • 사용자가 입력하는 값은 camp.nextstep.edu.missionutils.ConsolereadLine()을 활용한다.