HackerRank/JAVA

Java Datatypes

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

 

https://www.hackerrank.com/challenges/java-datatypes/problem?isFullScreen=true

 

Java Datatypes | HackerRank

Learn about different Java Datatypes.

www.hackerrank.com

 

import java.util.*;
import java.io.*;




//https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
class Solution{
    public static void main(String []argh)
    {






        Scanner sc = new Scanner(System.in);
        int t=sc.nextInt();


        for(int i=0;i<t;i++)
        {


            try
            {
                long x=sc.nextLong();
                System.out.println(x+" can be fitted in:");
                if(x>=-128 && x<=127){
                    System.out.println("* byte");   
                }
                if(x>=-32768 && x<=32767){
                    System.out.println("* short");   
                }
                if(x>=Math.pow(-2,31) && x<=Math.pow(2,31)-1){
                    System.out.println("* int");   
                }
                if(x>=Math.pow(-2,63) && x<=Math.pow(2,63)-1){
                    System.out.println("* long");   
                }
                //Complete the code
            }
            catch(Exception e)
            {
                System.out.println(sc.next()+" can't be fitted anywhere.");
            }


        }
    }
}

 

 


Primitive Data Types
Data Type Default Value minimum value~maximum value
byte 0 -128 ~ 127
short 0 -32,768 ~ 32,767
int 0 -2^31 ~ 2^31-1
long 0L -2^63 ~ 2^63-1
float 0.0f  
double 0.0d  
char '\u0000' '\u0000'(or 0) ~ '\uffff'
String(or and object) null  
boolean false true / false

 

 

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

 

Primitive Data Types (The Java™ Tutorials > Learning the Java Language > Language Basics)

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

더보기

Java has 8 primitive data types; char, boolean, byte, short, int, long, float, and double. For this exercise, we'll work with the primitives used to hold integer values (byte, short, int, and long):

  • A byte is an 8-bit signed integer.
  • A short is a 16-bit signed integer.
  • An int is a 32-bit signed integer.
  • A long is a 64-bit signed integer.

Given an input integer, you must determine which primitive data types are capable of properly storing that input.

To get you started, a portion of the solution is provided for you in the editor.

Reference: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

Input Format

The first line contains an integer, , denoting the number of test cases.
Each test case, , is comprised of a single line with an integer, , which can be arbitrarily large or small.

Output Format

For each input variable  and appropriate primitive , you must determine if the given primitives are capable of storing it. If yes, then print:

n can be fitted in:
* dataType

If there is more than one appropriate data type, print each one on its own line and order them by size (i.e.: ).

If the number cannot be stored in one of the four aforementioned primitives, print the line:

n can't be fitted anywhere.

Sample Input

5
-150
150000
1500000000
213333333333333333333333333333333333
-100000000000000

Sample Output

-150 can be fitted in:
* short
* int
* long
150000 can be fitted in:
* int
* long
1500000000 can be fitted in:
* int
* long
213333333333333333333333333333333333 can't be fitted anywhere.
-100000000000000 can be fitted in:
* long

Explanation

 can be stored in a short, an int, or a long.

 is very large and is outside of the allowable range of values for the primitive data types discussed in this problem.

반응형

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

Java Date and Time  (0) 2024.01.12
Java Static Initializer Block  (0) 2024.01.12
Java Loops II  (0) 2024.01.12
Java Loops I  (0) 2024.01.12
Java Output Formatting  (0) 2024.01.12