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: 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
See everything in one place: Coding Problems and Solutions
Comments
Post a Comment