Hello people ..

I have a problem with my program ,, it is designed to count the number of digits and if its 5 it will test if its a palindrome number..

``````public class Palindrome
{
// checks if a 5-digit number is a palindrome
public void checkPalindrome()
{
Scanner input = new Scanner( System.in );

int number; // user input number
int digit1; // first digit
int digit2; // second digit
int digit4; // fourth digit
int digit5; // fifth digit
int digits; // number of digits in input

number = 0;
digits = 0;
int a, b, c;

System.out.println("Enter a five digit number");  // prompt
number = input.nextInt();
int i=number;
while(i>0)
{
digits++;
i/=10;
}
while(digits!=5) //if the number is not five digits
{
System.out.println("The number you entered is not a five-digit number \nPlease Enter a five digit number:");//Display an error message
number=input.nextInt();
}

digit1=number/10000;
a=number%10000;
digit2=a/1000;
b=a%1000;
c=b%100;
digit4=c/10;
digit5=c%10;

if(digit1 == digit5 && digit2==digit4) //tests whether the first and last digits are identical and the second and Fourth digits are identical.
System.out.println(number + " is a plaindrome!");//Output whether its a palindrome
else
System.out.println(number + " is  not a plaindrome!");

} // end method checkPalindrome
} // end class Palindrome
``````

There are two while loops in your program and both are looking fine to me. Trace through your program putting debugging statements and check the values for i and digits.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.