Skip to content

Instantly share code, notes, and snippets.

@xProgrammer-007
Created August 18, 2021 08:22
Show Gist options
  • Save xProgrammer-007/b3f27ad4e2690e8e59c0cf4b7167dba4 to your computer and use it in GitHub Desktop.
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
// 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