Java Static Initializer Block - Hacker Rank Solution
Hello Friends, How are you? Today I will solve the HackerRank Java Static Initializer Block Problem with a very easy explanation. This is the 10th problem of Java on HackerRank. In this article, you will get two approaches to solving this problem. So let's start-
HackerRank Java Static Initializer Block - Problem Statement
Static initialization blocks are executed when the class is loaded, and you can initialize static variables in those blocks.
It's time to test your knowledge of Static initialization blocks. You can read about it here.
You are given a class Solution with the main method. Complete the given code so that it outputs the area of a parallelogram with breadth B and height H. You should read the variables from the standard input.
If B <= 0 or H <= 0, the output should be "java.lang.Exception: Breadth and height must be positive" without quotes.
Input Format
There are two lines of input. The first line contains B: the breadth of the parallelogram. The next line contains H: the height of the parallelogram.
Constraints
- -100 <= B <= 100
- -100 <= H <= 100
Output Format
If both values are greater than zero, then the main method must output the area of the parallelogram. Otherwise, print "java.lang.Exception: Breadth and height must be positive" without quotes.
1 3 (code-box)
3 (code-box)
-1 2 (code-box)
java.lang.Exception: Breadth and height must be positive (code-box)
Java Static Initializer Block - Hacker Rank Solution
Approach I:
import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { private static int B; private static int H; private static boolean flag; static { Scanner scan = new Scanner(System.in); B = scan.nextInt(); H = scan.nextInt(); scan.close(); if (B <= 0 || H <= 0) { System.out.println("java.lang.Exception: Breadth and height must be positive"); flag = false; } else { flag = true; } } public static void main(String[] args){ if(flag){ int area=B*H; System.out.print(area); } }//end of main }//end of class
// Java Static Initializer Block - Hacker Rank Solution import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { // Java Static Initializer Block - Hacker Rank Solution START static boolean flag; static int B,H; static{ Scanner io = new Scanner(System.in); B = io.nextInt(); H = io.nextInt(); if(B>0 && H>0) { flag = true; } else { System.out.println("java.lang.Exception: Breadth and height must be positive"); } } // Java Static Initializer Block - Hacker Rank Solution END public static void main(String[] args){ if(flag){ int area=B*H; System.out.print(area); } }//end of main }//end of class
Disclaimer: The above Problem ( Java Static Initializer Block ) is generated by Hackerrank but the Solution is Provided by Code Solution. This tutorial is only for Educational and Learning purposes. Authority if any queries regarding this post or website fill out the contact form.
I hope you have understood the solution to this HackerRank Problem. All the above solutions will pass all the test cases. Now visit Java Static Initializer Block HackerRank Problem and try to solve it again.
All the Best!