/*
一个5位数,判断它是不是回文数。
即12321是个回文数,个位与万位相同,十位与千位相同。
*/
import java.io.*;
class Demo
{
private Demo(){}
private static Demo instance = new Demo();
public static Demo getInstance()
{
return instance;
}
public boolean isHuiWenShu(long n)
{
if(n <= 9)
return true;
String str = Long.toString(n);
char[] arr = str.toCharArray();
int len = arr.length;
for(int i = 0; i < len/2 ; i++)//无论奇数还是偶数,只要比较len/2次即可。
{
if(arr[i] != arr[len-1-i])
return false;
}
return true;
}
}
class MainClass
{
public static void main(String[] args) throws Exception
{
Demo d = Demo.getInstance();
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
String reg = "\\d+";
System.out.println("输入一个非负数字:");
for(String str = buf.readLine().trim();true; str = buf.readLine().trim())
{
if(str.isEmpty() == true)
continue;
if(str.equals("quit") == true)
System.exit(0);
if(str.matches(reg) == true)
{
long n = Long.parseLong(str);
System.out.println(n+"是否是回文数?\t"+d.isHuiWenShu(n));
}
else
{
System.out.println("输入不合法!");
}
}
}
}
/*
回文数是一种数字,如:98789,这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字就是回文数。
*/