2. 編寫一個Java應用程式,使用者從鍵盤輸入一個1~9999之間的數,程式將判斷這個數是幾位數,並判斷這個數是否是迴文數。迴文數是指將該數含有的數字逆序排列後得到的數和原數相同,例如12121、32
阿新 • • 發佈:2019-02-11
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);
}
}
}
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);
}
}
}