처음 입문했습니다. 런타임오류 이해가 안되요

  • layers
    layers

    FESTIVAL 해당내용입니다.

    질문1
    문제에있는 제한 조건 1<n 이런 사항을 준수 해야하는지요

    질문2
    입력값이 잘못들어왓늘때 다시 받아야하는지 오류로 처리한뒤 프로세스를 끝내요 하는건지 궁금합니다.

    질문3
    현재 임의의 답을 처리해서 위 정답은 아니지만 컴파일만 보고싶어서 올려봤는데 잘안대고 있습니다.
    소스 어떤 부분이 문제인지 알려 주실수 있는지요 ?

    import java.util.Scanner;
    
    
    public class Main {
        public static void main(String[] args) {
    
            int testCases = getTestCase();
    
            for (int i = 0; i < testCases; i++) {
                //날짜와 팀을 받는
                int[] input = getDayTeam();
                int  day = input[0];
                int  team = input[1];
    
    
                int costDay[] = getDayCost(day);
    
    
            }
            for (int i = 0; i < testCases; i++) {
                System.out.println("1.75000000000");            
            }
        }
    
    
    
        //테스트 케이스수
        private static int getTestCase(){
            Scanner sc = new Scanner(System.in);
            int testCases =0;
            try {
                testCases = sc.nextInt();
            } catch (Exception e) {
                //System.out.println("테스트 케이스"+e);
                return getTestCase();
            }
            if(testCases <= 100)        
                return testCases;
            else{
                //System.out.println("테스트 케이스 " + testCases);
                return getTestCase();
            }
        }
        //날짜 공연
        private static int[] getDayTeam(){
            int[] input = new  int[2];
            Scanner sc = new Scanner(System.in);
            int day = 0 ;
            int team = 0 ;
            try {           
                day = sc.nextInt();
                team = sc.nextInt();            
            } catch (Exception e) {
                //System.out.println("getDayTeam :"+e);
                return getDayTeam();
            }
            if( (1 < day  && day <= 1000) && (1<=team && team <= 1000) && (team <= day)  ){
                input[0] = day;
                input[1] = team;
                return input;
            }else{
                //System.out.println("getDayTeam :"+ day  + ","+ team);
                return getDayTeam();
            }
        }
    
        private static int[] getDayCost(int day){
            int[] dayCost = new  int[day];
            Scanner sc = new Scanner(System.in);
            try {
                for (int i = 0; i < day; i++) {
                    dayCost[i] = sc.nextInt();
                    if(dayCost[i] >=100){
                        //System.out.println("cost :"+dayCost[i]);
                        return getDayCost(day);
                    }
                }
    
    
                return dayCost;
            } catch (Exception e) {
                //System.out.println("getDayTeam :"+e);
                return getDayCost(day);
            }
        }
    
    
    
    }
    

    10년 전
2개의 댓글이 있습니다.
  • JongMan
    JongMan

    해당 내용은 채점 서버에서 테스트하기 위해 사용하는 입력이 해당 조건을 따른다는 의미입니다. 따라서 제출 코드에서 해당 오류 체크는 하실 필요 없습니다. 만약 채점 데이터가 해당 조건을 따르지 않는다고 의심되시면 신고하시면 정정해 드립니다.


    10년 전 link
  • layers
    layers

    감사합니다.


    10년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.