[java]XHAENEUNG 문의드려요

  • leun_kcha
    leun_kcha

    안녕하세요
    늦었지만 새해 복 많이 받으세요~~

    열심히 해서 일단 답은 맞는거같은데요
    오답이라고 떠서요 ㅠ.ㅠ
    혹시 어떤게 잘못된건지 말씀해주실수 있으신가요?ㅠ.ㅠ
    부탁드려요 _(__)_

    package algospot;
    
    import java.io.IOException;
    import java.util.*;
    
    
    public class Main {
        static String[] dataNum = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"};
        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);//생성
            int num = sc.nextInt();//받을 라인
    
            String[] inArr = new String[num];//배열
    
            for (int i = 0; i < num; i++) {
                int num1 = numOfChage(sc.next());
                int num2 = operOfChage(sc.next());  
                int num3 = numOfChage(sc.next());
                sc.next();
    
                int oper = 11;
    
                switch (num2) {
                case 1:
                    oper = num1 + num3;             
                    inArr[i] = ensOfChage(oper,sc.next());              
                    break;
                case 2:
                    oper = num1 - num3;
                    inArr[i] = ensOfChage(oper,sc.next());
    
                    break;
                case 3:
                    oper = num1 * num3;
                    inArr[i] = ensOfChage(oper,sc.next());
    
                    break;
                }       
    
            }
            for (int i = 0; i < inArr.length; i++) {
                System.out.println(inArr[i]);
            }
        }
        public static String ensOfChage(int x,String y) {//0이상10이하의 숫자를 비교
    
            int total= 0;
            int intotal = 0;
            if (x >= 0 && x <= 10)
            {
    
                for (int i = 0; i < dataNum[x].length(); i++) {
                    total += dataNum[x].charAt(i);
                }
                for (int i = 0; i < y.length(); i++) {
                    intotal +=  y.charAt(i);
                }    
                if (intotal == total) return "Yes";
                else return "No";       
            }
            else
    
                return "No";        
        }
    
        static int operOfChage(String x)    {//오퍼레잇 숫자로 변환
            int temp = 0;
            switch (x) {
            case "+":
                temp = 1;           
                break;          
            case "-":
                temp = 2;
                break;
            case "*":
                temp = 3;
                break;
            default:
                temp = 0;
                break;
            }
            return temp;
        }
        private static int numOfChage(String x) {//들어온 문자열을 정수로 변경
            int temp = 0;
    
            for (int i = 0; i < dataNum.length; i++) {
    
                if (x.trim().hashCode() == dataNum[i].trim().hashCode()) {              
                    temp = i;               
                }
            }               
            return temp;
        }
    }
    


    9년 전
2개의 댓글이 있습니다.
  • KimJJ
    KimJJ

    그냥 코드 한번 보자마자 드는 의문인데

    ensOfChage(1, "ood") 가 "Yes"가 나오지는 않습니까?


    9년 전 link
  • leun_kcha
    leun_kcha

    감사합니다 _(__)_


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