Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save AbdullahMagat/153b444d7f197cd197c82313f7857949 to your computer and use it in GitHub Desktop.

Select an option

Save AbdullahMagat/153b444d7f197cd197c82313f7857949 to your computer and use it in GitHub Desktop.
Hackerrank Java Datatypes Solution
import java.util.*;
import java.io.*;
import java.math.BigInteger;
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>=(Byte.MIN_VALUE) && x<=Byte.MAX_VALUE)System.out.println("* byte");
if(x>=(Short.MIN_VALUE) && x<=Short.MAX_VALUE)System.out.println("* short");
if(x>=(Integer.MIN_VALUE) && x<=Integer.MAX_VALUE)System.out.println("* int");
if(x>=(Long.MIN_VALUE) && x<=Long.MAX_VALUE)System.out.println("* long");
//Another way. Be careful to take the interval of numbers. They are signed char so you should mines 1. for example byte is not in range of 2^8 and -2^8. it is signed char so it should be between 2^7 and 2^7-1.
// BigInteger y = BigInteger.valueOf(x);
// System.out.println(x+" can be fitted in:");
// if(y.longValue()>=-128 && x<=127)System.out.println("* byte");
// if(y.longValue()>=-(Math.pow(2,15)) && y.longValue()<=(Math.pow(2,15)-1))System.out.println("* short");
// if(y.longValue()>=-(Math.pow(2,31)) && y.longValue()<=Math.pow(2,31)-1)System.out.println("* int");
// if(y.longValue()>=-(Math.pow(2,63)) && y.longValue()<=Math.pow(2,63)-1)System.out.println("* long");
}
catch(Exception e)
{
System.out.println(sc.next()+" can't be fitted anywhere.");
}
}
}
}
@uday0903
Copy link

uday0903 commented May 7, 2024

try()
The try block is used to specify a block of code that may throw an exception.

catch(Exception e)
Your 'catch' block will literally 'catch'' an exception object that was 'thrown' at some point during a 'try' block and store it in the 'e' variable Inside your catch block

@Anshul227
Copy link

why should we assign value of x to big integer i have done without it but im facing an error that last test case is not working

Its because the capacity of the datatype which probably you would have taken 'long' datatype is smaller than than the no. it is taking as input so it will throw the InputMissMatchExveption.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment