Hello coders, today we are going to solve Day 16: Exceptions – String to Integer HackerRank Solution in C++, Java and Python.
Objective
Today, we’re getting started with Exceptions by learning how to parse an integer from a string and print a custom error message.
Task
Read a string, S, and print its integer value; if S 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 0 score.
Input Format
A single string, S.
Constraints
- 1 <= |S| <= 6, where |S| is the length of string S.
- S is composed of either lowercase letters (a – z) or decimal digits (0 – 9).
Output Format
Print the parsed integer value of S, or Bad String
if S 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 0 contains an integer, so it should not raise an exception when we attempt to convert it to an integer. Thus, we print the 3.
Sample Case 1 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
.
Solution – Day 16: Exceptions – String to Integer
C++
#include <map> #include <set> #include <list> #include <cmath> #include <ctime> #include <deque> #include <queue> #include <stack> #include <string> #include <bitset> #include <cstdio> #include <limits> #include <vector> #include <climits> #include <cstring> #include <cstdlib> #include <fstream> #include <numeric> #include <sstream> #include <iostream> #include <algorithm> #include <unordered_map> using namespace std; int main(){ string S; cin >> S; try { int i = stoi(S); cout<<i; } catch (exception e) { cout<<"Bad String"; } return 0; }
Java
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 sc=new Scanner(System.in); String S=sc.nextLine(); try { int no; no=Integer.parseInt(S); System.out.println(no); } catch(Exception a) { System.out.println("Bad String"); } } }
Python
try: print(int(input())) except ValueError: print("Bad String")
Disclaimer: The above Problem (Day 16: Exceptions – String to Integer) is generated by Hacker Rank but the Solution is Provided by CodingBroz. This tutorial is only for Educational and Learning Purpose.
import math
import os
import random
import re
import sys
S = input().strip()
try:
S = int(S)
print(S)
except:
print(“Bad String”)