我距离学习编程已经三周了,这是我第一次出现堆栈溢出。我在一个课程项目中遇到了一个问题。我的意思是取一个数字,如果它是回文,则返回true。看来,如果我输入的数字是偶数个数字,则while循环会正确地将该数字标识为回文数。如果我插入的数字的位数为奇数,则循环会吐出一个与输入匹配的数字,但该方法返回false。我四处走动,尝试更改while循环的要求,结果有所不同,但无法解决此问题。我可以访问其他学生完成的代码来更改我的代码并完成项目,但我想了解我不理解的内容。
public class Main {
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进行比较,只需将原始值存储在一些临时变量中,可以说数字。