Day 16: HackerRank 30 Days Of Code Solution | Exceptions - String to Integer

This post explains the HackerRank 30 Days of Code problem Exceptions - String to Integer step by step: the problem statement, input and output format, constraints, a sample test case and a working solution in Java and C++ that you can study and run.

Day 16: HackerRank 30 Days Of Code Solution | Exceptions - String to Integer

Day 16: Exceptions - String to Integer

Hint

Many languages offer some functionality for parsing an integer value from a string token. Here are a few languages and their respective integer parsing functions:

Java: Integer.parseInt(token)
C++: stoi(token)
Python: int(token)
Ruby: Integer(token)

Each of these functions will raise an error (i.e.: throw an exception) when the argument passed as the token parameter cannot be converted to an integer. Most languages have built-in exception handling methods such as try-catch or begin-rescue that enable you to code specific behaviors to handle execution issues.

Aim
To parse an integer from a string and print a custom error message.

Task

Read a string,S, 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, 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

ga

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.

Exceptions - String to Integer Solution in 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");
    }
   }
  }

Exceptions - String to Integer Solution in C++

#include <string>
#include <cstring>
#include <iostream>
using namespace std;

int main(){
    string S;
    cin >> S;
    try{
        int n;
        n=stoi(S);
        cout<<S<<endl;
    }
    catch(exception e){
        cout<<"Bad String";
    }
    return 0;
}

If you have any doubts regarding this problem or need the solution in other programming languages then leave a comment down below .

Tip: try to solve the problem yourself before reading the solution. Use the code as a reference to check your approach, and make sure you understand why it works.

More HackerRank solutions All coding problems MCQ practice

Comments

Answered 0/0Correct 0