在爪哇中查找回文数


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.So",当我在第 14 行创建条件时,"reverse"充当 0.这是应该的,但我想使"reverse"等于第 10 行中的值.我该怎么办?

在另一个变量发生变化时将 num 分配给它

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 number  = num ; // assign to anaother variable as num gets changed 
int reverse=0;
while(num!=0){
int num1=num%10;
reverse=(reverse*10)+num1;
num/=10;
}
System.out.println("Reverse num is "+reverse);
if(number==reverse){
System.out.println("The number is palindrome");
}else{
System.out.println("Try again");
}
}

}

您可以考虑将数字视为字符串。

  1. 它允许任意大的数字。
  2. 然后,您可以使用 StringBuilder 来反转字符串。
Scanner input=new Scanner(System.in);
System.out.print("Input a preferred number :");
String str = input.nextLine();
StringBuilder sb = new StringBuilder(str);
String reverse = sb.reverse().toString();
System.out.println("Reverse num is "+reverse);
if(str.equals(reverse)){
System.out.println("The number is palindrome");
}else{
System.out.println("Try again");
}
} 

最新更新