[java]XHAENEUNG 문의드려요

  • User Avatar
    leun_kcha

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

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

    ~~~ java
    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;
    }
    

    }
    ~~~


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

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

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


    11년 전 link
  • User Avatar
    leun_kcha

    감사합니다 ()


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