Advertisement
dimipan80

Symmetric Numbers in Range

Aug 17th, 2014
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.48 KB | None | 0 0
  1. /* Write a program to generate and print all symmetric numbers in given range
  2.  * [start…end] (0 ≀ start ≀ end ≀ 999).
  3.  * A number is symmetric if its digits are symmetric toward its middle.
  4.  * For example, the numbers 101, 33, 989 and 5 are symmetric,
  5.  * but 102, 34 and 997 are not symmetric.*/
  6.  
  7. import java.util.Scanner;
  8.  
  9. public class _01_SymmetricNumbersInRange {
  10.  
  11.     public static void main(String[] args) {
  12.         // TODO Auto-generated method stub
  13.         Scanner scan = new Scanner(System.in);
  14.         System.out.println("Enter two Integer numbers in the Range [0 .. 999], separated by a space:");
  15.         int firstNum = scan.nextInt();
  16.         int secondNum = scan.nextInt();
  17.  
  18.         if (firstNum >= 0 && firstNum < 1000 && secondNum >= 0 && secondNum < 1000) {
  19.             int start = firstNum;
  20.             int end = secondNum;
  21.             if (firstNum > secondNum) {
  22.                 start = secondNum;
  23.                 end = firstNum;
  24.             }
  25.  
  26.             System.out.println("All Symmetric numbers in given range are:");
  27.             for (int i = start; i <= end; i++) {
  28.                 boolean numberIsSymmetric = checkTheNumberIsSymmetric(i);
  29.                 if (numberIsSymmetric) {
  30.                     System.out.print(i + " ");
  31.                 }
  32.             }
  33.         } else {
  34.             System.out.println("Error! - Input number is Out of Range!!!");
  35.         }
  36.     }
  37.  
  38.     private static boolean checkTheNumberIsSymmetric(int number) {
  39.         if (number < 10) {
  40.             return true;
  41.         }
  42.  
  43.         int lastDigit = number % 10;
  44.         int firstDigit = number / 100;
  45.         if (number < 100) {
  46.             firstDigit = number / 10;
  47.         }
  48.  
  49.         return firstDigit == lastDigit;
  50.     }
  51.  
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement