Created
August 18, 2021 08:22
-
-
Save xProgrammer-007/b3f27ad4e2690e8e59c0cf4b7167dba4 to your computer and use it in GitHub Desktop.
Reverses and checks if number is 0 or non integer or out of range
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Java program to reverse a number | |
import java.util.Scanner; | |
class ReverseInt | |
{ | |
/* Iterative function to reverse | |
digits of num*/ | |
static int reversDigits(int num) throws IntOutOfRangeException | |
{ | |
int neg_limit =-0x80000000; | |
int pos_limit = 0x7fffffff; | |
int rev_num = 0; | |
while(num > 0) | |
{ | |
rev_num = rev_num * 10 + num % 10; | |
num = num / 10; | |
} | |
boolean isInTheRange = rev_num <= pos_limit && rev_num >=neg_limit; | |
if(!isInTheRange) { | |
throw new IntOutOfRangeException(); | |
} | |
return rev_num; | |
} | |
// Driver code | |
public static void main (String[] args) | |
{ | |
Scanner myObj = new Scanner(System.in); // Create a Scanner object | |
System.out.println("Enter number"); | |
int num; | |
try{ | |
num = getNumber(myObj.nextLine()); | |
System.out.println("Reverse of no. is " + reversDigits(num)); | |
}catch (NonInteger | ZeroNum | IntOutOfRangeException e){ | |
System.out.println("You cannot enter non integer or 0 as input"); | |
} | |
} | |
private static int getNumber(String input) throws NonInteger, ZeroNum { | |
int yourNumber; | |
try{ | |
yourNumber = Integer.parseInt(input); | |
}catch (NumberFormatException ex) { | |
throw(new NonInteger()); | |
} | |
if(yourNumber == 0) throw(new ZeroNum()); | |
return yourNumber; | |
} | |
} | |
class IntOutOfRangeException extends Exception{ | |
@Override | |
public String getMessage() { | |
return "Unsigned bit our or range"; | |
} | |
} | |
class ZeroNum extends Exception{ | |
@Override | |
public String getMessage() { | |
return "Zero number cannot be accepted"; | |
} | |
} | |
class NonInteger extends Exception{ | |
@Override | |
public String getMessage() { | |
return "Non integer number"; | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment