不使用转换为字符串的函数:
import java.util.Scanner;
/*
判断回文数
* 由用户输入一个整数,判断是不是回文数(完全对称的数),如果是 打印 true, 否则打印false
* 提示:本题仅要求判断一个五位数是不是回文数
* 通过除法运算和求模运算符,可以分别求出一个五位数的每位上的值,然后进行比较。
* Palindrome 回文数
*/
public class zuoye0352 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入要判断是否为回文数的数值:");
int i=sc.nextInt();
String str=""+i;
if(str.length()%2==0){
System.out.println(i+"不是回文数!"+str.length()%2);
}
//判断反转后 值是否相等 从而
else if(i==fanzhuan(i)){
System.out.println(i+"是回文数~");
}
else
System.out.println(i+"不是回文数!");
}
private static int fanzhuan(int input) {
int output = 0;//
while(input>0){
//output= output*10;
output=output*10+input%10;
input=input/10;
}
return output;
}
}
转换为字符串后判断:
/**
* 对称数就是顺读和反读都一样吗,你可以用一个String接受用户输入,
* 然后把它反转,判断前后是不是equals就可以了。
* 例如 123321就是对称数
*/
public static void RegularNumberTest() {
String num1 = new Scanner(System.in).nextLine();
String num2 = “”;
for (int j = num1.length() – 1; j >= 0; j–) {
char a = num1.charAt(j);
num2 += a;
}
if (num2.equals(num1)) {
System.out.println(num1 + “是对称数.”);
}else{
System.out.println(num1 + “不是对称数.”);
}
}