XHAENEUNG 런타임 오류 질문입니다.

  • User Avatar
    Judoi

    [[problem:XHAENEUNG]]
    ~~~ java
    import java.util.Scanner;
    import java.util.Arrays;

    class Operate {
    String op[];
    String numbers[] = {"zero","one","two","three","four","five","six","seven","eight","nine","ten"};

    public boolean arith(){
        int result=0;
        int a,b;
    
        for(a=0;!numbers[a].equals(op[0]);a++);
        for(b=0;!numbers[b].equals(op[2]);b++);
    
        switch (op[1]) {
        case "+":
            result = a + b;
            break;
        case "-":
            result = a - b;
            break;
        case "*":
            result = a * b;
            break;
        }
        if(result > 10){
            return false;
        } else {
            return (sort(numbers[result]).equals(sort(op[4])))? true : false;
        }
    }
    public String sort (String text){
        char textarray[] = text.toCharArray();
        Arrays.sort(textarray);
        text = new String(textarray);
        return text;
    }
    

    }

    public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input = new Scanner(System.in);
        int n = Integer.parseInt(input.nextLine());
        Operate oper=new Operate();
    
        while(n-- > 0){
            oper.op = input.nextLine().split(" ");
    
            System.out.println((oper.arith())? "Yes" : "No");
        }
    }
    

    }
    ~~~
    에러 메시지가
    ~~~ java
    RTE (nonzero return code)
    ~~~
    이라는 데 리턴을 안하는 곳은 main 밖에 없습니다.
    문제 제출 시 런타임 오류가 뜨는데 원인을 파악할 수가 없습니다.
    도움 부탁드립니다.


    11년 전
3개의 댓글이 있습니다.
  • User Avatar
    Being

    런타임 오류는 프로그램이 수행 도중 비정상적으로 종료되었음을 뜻합니다.


    11년 전 link
  • User Avatar
    hyunhwan

    result값이 0보다 작을 경우에는 어떻게 될까요?


    11년 전 link
  • User Avatar
    Judoi

    끝끝내 해결을 봤어요!!!!
    답변해 주신 두분 정말 감사합니다!!!


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