본문 바로가기
1 Day 1 Algorithms

[2019.01.03] Exceptions - String to Integer

by 곰돌찌 2019. 1. 3.

Problem


Objective 
Today, we're getting started with Exceptions by learning how to parse an integer from a string and print a custom error message. Check out the Tutorial tab for learning materials and an instructional video!

Task 
Read a string, , and print its integer value; if  cannot be converted to an integer, print Bad String.

Note: You must use the String-to-Integer and exception handling constructs built into your submission language. If you attempt to use loops/conditional statements, you will get a  score.

Input Format

A single string, .

Constraints

  • , where  is the length of string .
  •  is composed of either lowercase letters (or decimal digits ().

Output Format

Print the parsed integer value of , or Bad String if  cannot be converted to an integer.

Sample Input 0

3

Sample Output 0

3

Sample Input 1

za

Sample Output 1

Bad String

Explanation

Sample Case  contains an integer, so it should not raise an exception when we attempt to convert it to an integer. Thus, we print the 
Sample Case  does not contain any integers, so an attempt to convert it to an integer will raise an exception. Thus, our exception handler prints Bad String.


How I solved the problem


# String으로 입력받은 문자를 int로 변환하면서 parse Exception이 나타나도록 구성해 주는 것이 핵심.

# excetion이 일어났을 때를 보려면 try ~ catch 구문을 사용!


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
 
public class Solution {
 
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String S = in.next();
 
        try {
            int result = Integer.parseInt(S); // 입력받은 String을 Int로 변환
            System.out.println(result);
        } catch (Exception e) {
            System.out.println("Bad String");
        }
    }
}
cs

[출처 : https://www.hackerrank.com ]

'1 Day 1 Algorithms' 카테고리의 다른 글

[2019.01.07] Queues and Stacks  (0) 2019.01.07
[2019.01.04] More Exceptions  (0) 2019.01.04
[2019.01.02] Linked List  (0) 2019.01.02
[2018.12.28] Scope  (0) 2018.12.28
[2018.12.27] Abstract Classes  (0) 2018.12.27

댓글