Palindrome Number:
Palindrome number means the reverse of any number is the same number.
Example : 121,323,454 etc.
Problem Statement:
Write a program to display all palindrome numbers within a given range.
Steps to solve the program:
- Take three inputs range1 and range 2.
- Create a for loop to make the iteration process within the boundary and also initialize num1 and num2.
- Use while loop to reverse the numbers within the range
- Check the reverse numbers are same to that number or not if yes then display within loop.
- Take two inputs:
Take two inputs range 1 and range2 for starting the program and also initialize num1 and num2.
int range1, range2;
System.out.println("Enter a range in numbers(num1-num2):");
range1 = sc.nextInt();
range2 = sc.nextInt();
int num1 = 0;
int num2 = 0;
- Create a for loop to make the iteration process within the boundary:
Create for loop within the range that means i variable started from range1 and ending with range2. The iteration process will continue within that range. Here num1 is replace by I and num2 by 0.
for (int i = range1; i <= range2; i++) {
num1 = i;
num2 = 0;
}
- Use while loop to reverse numbers within the range:
Using while loop and check until num1 is not equal to zero. Store remainder into rem variable, store quotient into num1 and finally store reverse using logic into num2.
while (num1 != 0) {
int rem = num1 % 10;
num1 /= 10;
num2 = num2 * 10 + rem;
}
- Check the reverse number is same as that number or not and display the numbers:
By using if statement check whether I means the original number is equal to num2 or not. If yes then display all the numbers
if (i == num2)
System.out.print(i + " ");
}
Full Java Code to Print Palindrome Numbers Within Range:
import java.util.Scanner;
public class GivenRangePalindromeNumber {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int range1, range2;
System.out.println("Enter a range in numbers(num1-num2):");
range1 = sc.nextInt();
range2 = sc.nextInt();
int num1 = 0;
int num2 = 0;
System.out.println(range1 + " to " + range2 + " palindrome numbers are");
for (int i = range1; i <= range2; i++) {
num1 = i;
num2 = 0;
while (num1 != 0) {
int rem = num1 % 10;
num1 /= 10;
num2 = num2 * 10 + rem;
}
if (i == num2)
System.out.print(i + " ");
}
sc.close();
}
}
Console Output:
Input:
Enter a range in numbers(num1-num2):
7894
9000
Output:
7894 to 9000 palindrome numbers are
7997 8008 8118 8228 8338 8448 8558 8668 8778 8888 8998