java 中的回文整数
palindrome int in java
我尝试在 Stack Overflow 上使用一些代码,但是当我使用一些代码时,我没有得到我想要的答案,这是我现在的代码:
public class JavaApplication7 {
public static void main(String[] args) {
boolean answer = rev(1221);
if(answer == true) System.out.println("true");
else System.out.println("false");
}
static boolean rev(int number){
int reverse = 0, remain;
int num = number;
while(number > 0){
remain = number % 10;
reverse = (reverse * 10) + remain;
num = num / 10;
}
return number == reverse;
}
}
我想检查回文是否等于原始整数
你的 rev 函数应该如下所示。
reversedInteger = 0, remainder, originalInteger;
originalInteger = num;
while( num != 0 )
{
remainder = num % 10;
reversedInteger = reversedInteger * 10 + remainder;
num /= 10;
}
您有两个与混淆 num
(您正在修改的本地副本)和 number
(您未修改的参数)相关的错误。我会把它设为 final
以明确该值是恒定的。然后始终如一地使用 num
。我也会稍微简化代码。喜欢,
static boolean rev(final int number) {
int reverse = 0;
int num = number;
while (num > 0) {
reverse *= 10;
reverse += num % 10;
num /= 10;
}
return number == reverse;
}
与 main
类似,使用 if
来打印 true
或 false
是没有意义的(如果你打算这样做,请使用 if (answer)
- 不要添加不必要的 == true
)。但是,我更愿意,
public static void main(String[] args) {
boolean answer = rev(1221);
System.out.println(answer);
}
输出
true
static boolean rev(int number){
int reverse = 0;
int num = number;
while(number > 0){
reverse = reverse * 10 + number % 10;
number /= 10;
}
return reverse == num;
}
我尝试在 Stack Overflow 上使用一些代码,但是当我使用一些代码时,我没有得到我想要的答案,这是我现在的代码:
public class JavaApplication7 {
public static void main(String[] args) {
boolean answer = rev(1221);
if(answer == true) System.out.println("true");
else System.out.println("false");
}
static boolean rev(int number){
int reverse = 0, remain;
int num = number;
while(number > 0){
remain = number % 10;
reverse = (reverse * 10) + remain;
num = num / 10;
}
return number == reverse;
}
}
我想检查回文是否等于原始整数
你的 rev 函数应该如下所示。
reversedInteger = 0, remainder, originalInteger;
originalInteger = num;
while( num != 0 )
{
remainder = num % 10;
reversedInteger = reversedInteger * 10 + remainder;
num /= 10;
}
您有两个与混淆 num
(您正在修改的本地副本)和 number
(您未修改的参数)相关的错误。我会把它设为 final
以明确该值是恒定的。然后始终如一地使用 num
。我也会稍微简化代码。喜欢,
static boolean rev(final int number) {
int reverse = 0;
int num = number;
while (num > 0) {
reverse *= 10;
reverse += num % 10;
num /= 10;
}
return number == reverse;
}
与 main
类似,使用 if
来打印 true
或 false
是没有意义的(如果你打算这样做,请使用 if (answer)
- 不要添加不必要的 == true
)。但是,我更愿意,
public static void main(String[] args) {
boolean answer = rev(1221);
System.out.println(answer);
}
输出
true
static boolean rev(int number){
int reverse = 0;
int num = number;
while(number > 0){
reverse = reverse * 10 + number % 10;
number /= 10;
}
return reverse == num;
}