CONVERT 문제 결과가 오답으로 나오는 원인을 모르겠습니다.

  • daebum2.kim
    daebum2.kim

    간단한 문제인데 오답이 나옵니다.
    value와 unit을 순차적으로 입력 받고
    unit에 따른 switch문으로 value를 계산하고, unit을 변경 해주었습니다.
    이렇게 전체 횟수만큼 생성된 array에 output을 넣어줬는데요.
    예제는 동일한 결과가 나오지만 답을 입력하면 오답이 나옵니다.

    간단한 실수이겠지만, 보고 또 봐도 잘 모르겠네요..
    조언 부탁 드립니다.

    import java.util.Scanner;
    
    public class Main {
    
        private static String[] results;
    
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
    
            int numberOfTest = sc.nextInt();
    
            results = new String[numberOfTest];
            for (int testCase = 0; testCase < numberOfTest; testCase++) {
                float value = sc.nextFloat();
                String unit = sc.next();
                String output = "";
    
                /*
                 * 1.000 kg = 2.2046 lb 
                 * 0.4536 kg = 1.0000 lb 
                 * 1.000 l = 0.2642 g
                 * 3.7854 l = 1.000 g
                 */
    
                switch (unit) {
                case "kg":
                    unit = "lb";
                    output = String.format("%06.4f", (value * 2.2064));
                    break;
                case "l":
                    unit = "g";
                    output = String.format("%06.4f", (value * 0.2642));
                    break;
                case "lb":
                    unit = "kg";
                    output = String.format("%06.4f", (value * 0.4536));
                    break;
                case "g":
                    unit = "l";
                    output = String.format("%06.4f", (value * 3.7854));
                    break;
                default:
                    break;
    
                }
    
                results[testCase] = (testCase + 1) + " " + output + " " + unit;
            }
    
            for (int testCase = 0; testCase < numberOfTest; testCase++) {
                System.out.println(results[testCase]);
            }
        }
    }
    

    9년 전
1개의 댓글이 있습니다.
  • Being
    Being

    상수 중 잘못된 값이 있습니다.


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