我正在编写 Java 代码,我必须在其中创建一个返回带有一个参数的 boolean 值的方法。如果提供给它的数字(参数)是否为回文,代码必须识别真假。这是我的代码,但结果始终是错误的。有人可以确定这里出了什么问题吗?
public class NumberPalindrome {
public static void main(String[] args) {
System.out.println(isPalindrome(121));
}
public static boolean isPalindrome(int number) {
int reverse = 0;
boolean variable = true;
while (number > 0) {
int lastdigit = number % 10;
reverse *= 10;
reverse += lastdigit;
number = number / 10;
}
if (reverse==number) {
variable = true;
} else variable = false;
return variable;
}
}
最佳答案
您必须将参数中给定的 number
的初始值保存在内存中,以便稍后能够将其与 reverse
进行比较。代码将如下所示。
public class NumberPalindrome {
public static void main(String[] args) {
System.out.println(isPalindrome(121));
}
public static boolean isPalindrome(int number) {
int initialNumber = number;
int reverse = 0;
boolean variable = true;
while (number > 0) {
int lastdigit = number % 10;
reverse *= 10;
reverse += lastdigit;
number = number / 10;
}
if (reverse==initialNumber) {
variable = true;
} else variable = false;
return variable;
}
}
关于java - 回文数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64110459/