HackerRank/JAVA

Java Static Initializer Block

예쁜꽃이피었으면 2024. 1. 12. 09:01

https://www.hackerrank.com/challenges/java-static-initializer-block/problem?isFullScreen=true

 

Java Static Initializer Block | HackerRank

Initialize some variables using Static initialization blocks!

www.hackerrank.com

 

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;


public class Solution {


// Write your code here
//https://docs.oracle.com/javase/tutorial/java/javaOO/initial.html
static int B;
static int H;


public static boolean flag = initializeClassVariable();
        
    private static boolean initializeClassVariable() {
        
        boolean result = false;
        Scanner sc = new Scanner(System.in);
        
        B = sc.nextInt();
        H = sc.nextInt();
        
        if(B <= 0 || H <= 0){
            System.out.println("java.lang.Exception: Breadth and height must be positive");
            result = false;
        }else{
            result = true;
        }
        
        return result;
    }






public static void main(String[] args){
        if(flag){
            int area=B*H;
            System.out.print(area);
        }
        
    }//end of main


}//end of class

 


Static Initialization Blocks (정적 초기화 블록)

- 클래스를 로딩하는 시점에 1번만 호출된다.

- 인스턴스 변수나 인스턴스 메소드에 접근하지 못한다.

 

 

https://docs.oracle.com/javase/tutorial/java/javaOO/initial.html

 

Initializing Fields (The Java™ Tutorials > Learning the Java Language > Classes and Objects)

The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available. See Java Language Changes for a summary of updated

docs.oracle.com

더보기

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 a main method. Complete the given code so that it outputs the area of a parallelogram with breadth  and height . You should read the variables from the standard input.

If  or  , 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 : the breadth of the parallelogram. The next line contains : the height of the parallelogram.

Constraints

  •  
  •  

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.

Sample input 1

1
3

Sample output 1

3

Sample input 2

-1
2

Sample output 2

java.lang.Exception: Breadth and height must be positive
반응형

'HackerRank > JAVA' 카테고리의 다른 글

Java Strings Introduction  (0) 2024.01.16
Java Date and Time  (0) 2024.01.12
Java Datatypes  (0) 2024.01.12
Java Loops II  (0) 2024.01.12
Java Loops I  (0) 2024.01.12