0

help me the code error

class datatype3{ 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 \n* short \n* int \n* long"); else if(x >= -32768 && x<= 32767) System.out.println("* short \n* int \n* long"); else if(x >= - 2147483648 && x<= 2147483647) System.out.println("* int \n* long"); else if(x >= -9223372036854775808 && x<= 9223372036854775807 ) System.out.println("* long"); } catch(Exception e) {System.out.println(sc.next()+" can't be fitted anywhere."); } } } } /* error: integer number too large: -9223372036854775808 else if(x >= -9223372036854775808 && x<= 9223372036854775807 ) ^ Solution.java:27: error: integer number too large: 9223372036854775807 else if(x >= -9223372036854775808 && x<= 9223372036854775807 ) */

26th Jun 2018, 2:48 PM
Smriti Rastogi
Smriti Rastogi - avatar
1 Answer
0
try { long x=sc.nextLong(); System.out.println(x+" can be fitted in:"); if(x>=-128 && x<=127)System.out.println("* byte \n* short \n* int \n* long"); else if(x >= -32768 && X<= 32767) System.out.println("* short \n* int \n* long"); else if(x >= - 2,147,483,648 && x<= 2,147,483,647) System.out.println("* int \n* long"); else if(x >= -Math.pow(2, 63) && x <= Math.pow(2, 63) - 1) System.out.println("* long"); } /* IF the last conditional is changed....this code snippet works well.........how is this possible
26th Jun 2018, 2:50 PM
Smriti Rastogi
Smriti Rastogi - avatar