Palindrome Integer: Create a Java application in NetBeans that has a main method
ID: 3685144 • Letter: P
Question
Palindrome Integer:
Create a Java application in NetBeans that has a main method that invokes two methods, reverse, and isPalindrome, to determine if a number is a palindrome (same as its reversal. E.g. 123454321). These two methods should have the following headers:
public static int reverse(int number) // return the reversal of an integer
public static boolean isPalindrome(int number) // return true if number is a palindrome
The program should ask the end user to enter an integer. Use the isPalidrome method to invoke the reverse method, and report whether the integer is a palindrome. Any one-digit integer or negative integer should be rejected with the specific error message (negative or one digit), and then the program should ask the user to re-enter the integer.
Hint: To reverse the digits of a number, try this routine:
int result = 0;
while (number != 0) { // e.g. number = 123
// Iteration 1 Iteration 2 Iteration 3
int remainder = number % 10; // remainder = 3 remainder = 2 remainder = 1
result = result * 10 + remainder; // result = 3 result = 32 result = 321
number = number / 10; // number = 12 number = 1 number = 0
} // result contains the reverse of number
Sample Java output:
Enter a positive multi-digit integer: 1
1 is one digit. Please enter a multi-digit positive integer:
-11
-11 is negative. Please enter a positive multi-digit integer
12321
12321 is a palindrome
Enter a positive multi-digit integer: 1232
1232 is not a palindrome
Explanation / Answer
/* package codechef; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Codechef
{
public static int reverse(int number){ // return the reversal of an integer{
int result = 0;
while (number != 0) { // e.g. number = 123
// Iteration 1 Iteration 2 Iteration 3
int remainder = number % 10; // remainder = 3 remainder = 2 remainder = 1
result = result * 10 + remainder; // result = 3 result = 32 result = 321
number = number / 10; // number = 12 number = 1 number = 0
}
return result;// result contains the reverse of number
}
public static boolean isPalindrome(int number){ // return true if number is a palindrome{
if(number == reverse(number))
return true;
else
return false;
}
public static void main (String[] args) throws java.lang.Exception
{ Scanner in = new Scanner(System.in);
int number;
System.out.println("Enter a positive multi-digit integer: ");
while(true){
number = in.nextInt();
if(number > 9)
break;
if (number < 0)
System.out.printf("%d is negative. Please enter a positive multi-digit integer ",number );
else
System.out.printf("%d is one digit. Please enter a multi-digit positive integer: ",number );
}
if(isPalindrome(number))
System.out.printf("%d is a palindrome",number);
else
System.out.printf("%d is not a palindrome",number);
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.