我已经学习了三个星期的编程知识,这是我第一次出现堆栈溢出。我在一个课程项目中遇到了一个问题。我的意思是取一个数字,如果它是回文,则返回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”,以查看输出是否与输入匹配。我也不了解数组或任何数学知识。因此,我正在寻找基本的帮助。感谢您帮助我解决我公认的可悲问题。
问题来源:Stack Overflow
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。
回答来源:Stack Overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。