判斷一個數是否為回文數
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("\n%d 不在1至99999之間",number);
}
}
}
4、實驗后的問題:
1.程序運行時,用戶從鍵盤輸入2332,程序提示怎樣的信息?
2.程序運行時,用戶從鍵盤輸入654321,程序提示怎樣的信息?
3.程序運行時,用戶從鍵盤輸入33321,程序提示怎樣的信息?