본문 바로가기

Algorithm/Language Coder

Jungol (Java) - 611 : 문자열2 - 자가진단A

런타임 에러 납니다 ㅠㅠ 고수님들 도와주세요..

 

문제

20자 이하인 한 개의 문자열을 입력받아서 첫 줄에는 정수로 변환하여 2배한 값을 출력하고, 다음 줄에는 실수로 변환한 값을 반올림하여

소수 둘째자리까지 출력하는 프로그램을 작성하시오.

 

입력 예

50.1*34

 

출력 예

100

50.10

 

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s;
        s = sc.next();
        int len, n1;
        double n2;
        len = s.length();
        StringBuilder str1 = new StringBuilder();
        for (int i = 0; i < len; i++) {
            if (s.charAt(i) == '.') {
                break;
            }
            str1.append(s.charAt(i));
        }
        n1 = Integer.parseInt(str1.toString());
        System.out.println(n1 * 2);

        StringBuilder str2 = new StringBuilder();
        for (int i = 0; i < len; i++) {
            if (s.charAt(i) == '.') {
                str2.append(s.charAt(i));
            } else if (s.charAt(i) >= '0' && s.charAt(i) <= '9') {
                str2.append(s.charAt(i));
            } else {
                break;
            }
        }
        n2 = Double.parseDouble(str2.toString());
        System.out.printf("%.2f\n", n2);
    }
}