HackerRank Solution for Java Exception Handling Problem
What is Exception Handling?
The Exception Handling in Java is one of the powerful mechanism to handle the runtime errors so that the normal flow of the application can be maintained.
Learn more about Exception types and how to handle it :
Problem Description:
You are required to compute the power of a number by implementing a calculator. Create a class MyCalculator which consists of a single method long power(int, int). This method takes two integers, n and p, as parameters and finds n^p.
If either n or p is negative, then the method must throw an exception which says "java.lang.Exception: n or p should not be negative.".
Also, if both n and p are zero, then the method must throw an exception which says "java.lang.Exception: n and p should not be zero.".
Sample Input and Output :
Input
3 5
2 4
0 0
-1 -2
-1 3
Output
243
16
java.lang.Exception: n and p should not be zero.
java.lang.Exception: n or p should not be negative.
java.lang.Exception: n or p should not be negative.
See full description on HackerRank :
Lets see solution :
import java.util.Scanner;
class MyCalculator {
public int power(int n, int p) throws Exception {
if (n < 0 || p < 0) {
throw new Exception("n or p should not be negative.");
} else if (n == 0 && p == 0) {
throw new Exception("n and p should not be zero.");
} else {
return (int) Math.pow(n, p);
}
}
}
public class Solution {
public static final MyCalculator my_calculator = new MyCalculator();
public static final Scanner in = new Scanner(System.in);
public static void main(String[] args) {
while (in .hasNextInt()) {
int n = in .nextInt();
int p = in .nextInt();
try {
System.out.println(my_calculator.power(n, p));
} catch (Exception e) {
System.out.println(e);
}
}
}
}
Solution explanation :
- Here in first case, we have to throw Exception if given n or p value is negative.
- In second case, we have to throw Exception if given n and p both value is zero.
- Otherwise if both value is positive, we have to return power of n^p. here we are using Math.pow() function for return power.
- for throw Exception we must have to throws Exception. like we done on power method, power(int n, int p) throws Exception.
Learn more about throw and throws keyword in Java :
Happy Coding...
See other HackerRank problem and solution in Java with Explanation.
Comments
Post a Comment