【发布时间】:2020-05-29 15:38:57
【问题描述】:
import java.util.*;
class Example{
public static void main(String args[]){
Scanner input=new Scanner(System.in);
System.out.print("Input a prefer number :");
int num=input.nextInt();
int reverse=0;
while(num!=0){
int num1=num%10;
reverse=(reverse*10)+num1;
num/=10;
}
System.out.println("Reverse num is "+reverse);
if(num==reverse){
System.out.println("The number is palindrome");
}else{
System.out.println("Try again");
}
}
}
当我通过键盘输入数字时,我想确认它是否是回文数字。但我无法得到它。在我的代码的第 7 行中,我已将变量“reverse”初始化为 0 .所以当我在第 14 行创建条件时,“reverse”充当 0。这应该是,但我想让“reverse”等于第 10 行中的值。我该怎么办?
【问题讨论】:
-
您的问题是您在构建
reverse时破坏了num变量。最后比较时,num将为 0,不等于reverse。 -
好吧,如果你想真正便宜,就这样做:
boolean isPalindrome = new StringBuilder(num + "").reverse().toString().equals(num + "");你我承认,这可能不是最好的解决方案
标签: java palindrome