首页 > 代码库 > 判断一个数字是否是回文数字,如果是则打印出100以内的回文数字,若不是只给出提示信息。
判断一个数字是否是回文数字,如果是则打印出100以内的回文数字,若不是只给出提示信息。
回文数字指的是什么呢?什么是回文数字呢?
回文数字的特征是:一组数字,从左读和从右读都是一样的,比如:123、123321、12345654321
public class HuiWenTest
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
try
{
System.out.println("请输入你要判断的数字: ");
String word = sc.next();
int i = word.length();
int j = 0;
while(j <= (i / 2) - 1 && word.charAt(j) == word.charAt(i - j - 1))
{
j++;
}
if(j == i / 2)
{
System.out.println("这是一个回文数字.");
System.out.println("100以内的回文数字为:" );
for (int ir = 10; ir < 100; ir++)
{
// 10以内的正整数不是回文数,所以从10开始
if (isCircleNumber(ir))
{
// 判断是否为回文数字
System.out.println(" " + ir); // 打印回文数字
}
}
}
else
{
System.out.println("这不是一个回文数字.");
}
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
finally
{
sc.close();
}
}
}
private static boolean isCircleNumber(int num)
{
int oldNum = num; // 原值
int temp = 0; // 反值
while (num > 0)
{
// 循环 num 的每一位数值
temp = temp * 10 + num % 10; // 得到一位数字
num /= 10; // num减少一位
}
return temp == oldNum; // 判断反值与原值是否相等
}
判断一个数字是否是回文数字,如果是则打印出100以内的回文数字,若不是只给出提示信息。