I am doing a Palindrome number sequence. I've got the math set up, but I'm having trouble nesting my if statements only showing one answer.
I've attempted to remove the 'if' from the 'else if' but then java doesn't recognize. The output doesn't provide the "Not 5 digits" and when I enter 5 digits that are a Palindrome it sends an output both True and False instead of just true. However it works perfect for a false 5 digit number input. Can I have some help on how to nest appropriately is what I'm asking for or an example of a good explanation to help me achieve the results as I've been to quite a few sites, but most are too simple and lack examples to compare.
import java.util.Scanner;
public class Palindrome
{
public static void main(String args[])
{
Scanner input = new Scanner(System.in);
System.out.print ("Enter 5-digit integer value: ");
int userNumber = input.nextInt();
System.out.println("Input value: " + "\t" + userNumber);
//User input incorrect amount of digits
if (userNumber >= 100000 && userNumber <= 9999)
{
System.out.println("Not 5 digits.");
}
else if(userNumber < 100000 && userNumber > 9999)
{
int Number5 = (userNumber/10000) % 10;
int Number4 = (userNumber/1000) % 10;
int Number3 = (userNumber /100) % 10;
int Number2 = (userNumber/10) % 10;
int Number1 = userNumber % 10;
//Conditions are met for Palidrome Number
if(Number1 == Number5 && Number2 == Number4)
{
System.out.println("Judgement: " + "\t" + "\t" + "True");
}
//Conditions are not met for Palidrome Number
else if (Number1 != Number5 || Number2 !=Number4);
{
System.out.println("Judgement: " + "\t" + "\t" + "False");
}
}
}
}
The results should show true, false, or not 5 digits
This can work:
import java.util.Scanner;
import java.lang.*;
public class Main
{
public static void main(String args[])
{
Scanner input = new Scanner(System.in);
System.out.print ("Enter 5-digit integer value: ");
String userNumber = input.next();
System.out.println("Input value: " + "\t" + userNumber);
//User input incorrect amount of digits
if (userNumber.length()!=5)
{
System.out.println("Not 5 digits.");
}
else{
//Conditions are met for Palidrome Number
if(new StringBuilder(userNumber).reverse().toString().equals(userNumber))
{
System.out.println("Judgement: " + "\t" + "\t" + "True");
}
//Conditions are not met for Palidrome Number
else
{
System.out.println("Judgement: " + "\t" + "\t" + "False");
}
}
}
}
Your 2nd else if
statement is redundant, and you have an extra semicolon in your last if statement.