识别回文数字的Java项目返回false,输出匹配



我已经学习编程三周了,这是我第一次学习堆栈溢出。我在一个课程项目上遇到了一个问题。如果一个数字是回文的,我会取它并返回true。看起来,如果我输入一个偶数位数的数字,while循环会正确地将该数字识别为回文。如果我插入的数字是奇数,那么循环会吐出一个与输入匹配的数字,但会向方法返回false。我已经移动了一些东西,并尝试更改while循环的要求,结果各不相同,但无法解决这个问题。我可以访问其他学生完成的代码来更改我的代码并完成项目,但我想了解我不理解的内容。

公共类主{

public static void main ( String [] args ) {
System.out.println ( isPalindrome ( 111 ) ) ;
}
public static boolean isPalindrome ( int number ) {
int lastDigit = 0 ;
int reverseNumber = 0 ;
while ( number != 0 ) {
lastDigit = ( number % 10 ) ;
reverseNumber = reverseNumber * 10 + lastDigit ;
number /= 10 ;
System.out.println ( reverseNumber ) ;
if ( reverseNumber == number ) {
return true ;
}
}
return false ;
}

}

我正在打印我的变量"reverseNumber",看看我的输出是否与我的输入匹配。我对数组或任何数学知识都一无所知,所以我正在寻找一些基本的帮助。谢谢你帮我解决了公认的可悲问题。

public static void main ( String [] args ) {
System.out.println ( isPalindrome ( 111 ) ) ;
}
public static boolean isPalindrome ( int number ) {
int lastDigit = 0 ;
int reverseNumber = 0 ;
int num = number;
while ( num != 0 ) {
lastDigit = ( num % 10 ) ;
reverseNumber = reverseNumber * 10 + lastDigit ;
num /= 10 ;
System.out.println ( reverseNumber ) ;
if ( reverseNumber == number ) {
return true ;
}
}
return false ;
}

你每次都在更改你的数字,最后将其与反向值进行比较,反向值将为111==0,只需将你的原始值存储在一些临时变量中,比如num.

相关内容

最新更新