1. 程式人生 > >2. 編寫一個Java應用程式,使用者從鍵盤輸入一個1~9999之間的數,程式將判斷這個數是幾位數,並判斷這個數是否是迴文數。迴文數是指將該數含有的數字逆序排列後得到的數和原數相同,例如12121、32

2. 編寫一個Java應用程式,使用者從鍵盤輸入一個1~9999之間的數,程式將判斷這個數是幾位數,並判斷這個數是否是迴文數。迴文數是指將該數含有的數字逆序排列後得到的數和原數相同,例如12121、32

import javax.swing.JOptionPane; 
public class TestNumber 
{   
    public static void main(String args[]) 
    { 
        loopNumber();    
    } 
     static  void loopNumber(){ 
        int number=0,d5,d4,d3,d2,d1; 
        String str=JOptionPane.showInputDialog("輸入一個1至99999之間的數"); 
        number=Integer.parseInt(str); 
        if(number>=1&&number<100000) //判斷number在1至99999之間的條件  
            { 
               d5=number/10000 ;  //計算number的最高位(萬位)d5  
               d4=(number-d5*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是4位數的條件  
                { 
                   System.out.println(number+"是4位數"); 
                   if(d4==d1&&d3==d2) //判斷number是迴文數的條件碼  
                   { 
                        System.out.println(number+"是迴文數"); 
                   } 
                  else 
                   {  
                      System.out.println(number+"不是迴文數"); 
                   } 
                } 
                else if(d3!=0)  //判斷number是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); 
            } 
    } 
}