判断一个数是否为回文数

判断一个数是否为回文数

1、实验要求:

1.按照提供的程序模板编辑程序,并在相应的空白处填出正确代码,并回答最终的问题。

2.实验报告中要求包括程序设计思想、程序流程图、空缺处的源代码、验证结果截图等内容。

2、实验题目:

1.编写一个 Java 应用程序。用户从键盘输入一个 1—9999 之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。

2.回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223 都是回文数。

3、程序代码:

package demo;

import javax.swing.JOptionPane;

public class dzn

{

    public static void main(String args[])

    {

       int number=0,d5,d4,d3,d2,d1;

       String str=JOptionPane.showInputDialog("输入一个1至99999之间的数");

       number=Integer.parseInt(str);

       if((number>0)&&(number<100000))//判断number在1至99999之间的条件

       { d5=number/10000;//计算number的最高位(万位)d5

         d4=number%10000/1000;//计算number的千位d4

           d3=number%1000/100;//计算number的百位d3

           d2=number%100/10;

           d1=number%10;

           if(d5!=0)//判断number是5位数的条件

           {

              System.out.println(number+"是5位数");

              if((d5==d1)&&(d4==d2))//判断number是回文数的条件

              {

                  System.out.println(number+"是回文数");

                 

              }

              else

              {

                  System.out.println(number+"不是回文数");

              }

           }

           else if(d4!=0)//判断number是四位数的条件

           {

              System.out.println(number+"是四位数");

              if ((d4==d1)&&(d3==d2))//判断number是回文数的条件码

              {

                  System.out.println(number+"是回文数");

                 

              }

              else

              {

                  System.out.println(number+"不是回文数");

              }

           }

           else if(d3!=0)//判断是3位数的条件

           {

              System.out.println(number+"是3位数");

              if (d3==d1)//判断number是回文数的条件码

              {

                  System.out.println(number+"是回文数");

                 

              }

              else

              {

                  System.out.println(number+"不是回文数");

              }

           }

           else if(d2!=0)

           {

              System.out.println(number+"是2位数");

              if(d1==d2)

              {

                  System.out.println(number+"是回文数");

              }

              else

              {

                  System.out.println(number+"不是回文数");

              }

           }

           else if(d1!=0)

           {

              System.out.println(number+"是1位数");

              System.out.println(number+"是回文数");

           }

       }

       else

       {

           System.out.printf(" %d 不在1至99999之间",number);

       }

    }

}

4、实验后的问题:

1.程序运行时,用户从键盘输入2332,程序提示怎样的信息?

 

2.程序运行时,用户从键盘输入654321,程序提示怎样的信息?

 

3.程序运行时,用户从键盘输入33321,程序提示怎样的信息?

 

原文地址:https://www.cnblogs.com/duzhaonan/p/5929175.html