Java 一個5位數,判斷它是不是迴文數。
阿新 • • 發佈:2021-01-20
Java 一個5位數,判斷它是不是迴文數。
要做這個題,首先得明白什麼是迴文數呢?
例如,12321就是迴文數,個位與萬位相同,十位與千位相同,諸如此類。
以下是兩段程式碼,顯然。後一種更靈活。不限制輸入數的位數。
import java.util.*;
public class HuiWen{
public static void main(String[] args) {
//固定的演算法,只能判斷5位數的,不是很靈活,
//思想:一位一位對比
// System.out.print("請輸入一個五位數的整數: ");
// Scanner scan = new Scanner(System.in);
// int m=scan.nextInt();
// if(m/10000==m%10&&(m/1000)%10==(m/10)%10) {
// System.out.println(m+"是迴文數");
// }
// else {
// System.out.println(m+"不是迴文數");
// }
//判斷n位數的迴文數,
//思想:倒著計算這個數和原數相等即是迴文數
System.out.println("請輸入一個數:");
Scanner scan = new Scanner( System.in);
int m= scan.nextInt();
int number=m;//先快取輸入的這個數,為之後比對做準備
int n=0;//用來快取倒著計算出的數
while(m>0) {
n=n*10+m%10;
m=m/10;
}
if(n==number) {
System.out.println(number+"是迴文數");
}
else {
System.out.println(number+"不是迴文數");
}
}
}
執行結果:
注意,這裡定義的數是int
型的,測試輸入超過 int允許儲存的最大值2147483647
java.util.InputMismatchException
,輸入不匹配異常。想要測試更大的數,可以把變數定義為
long
型測試下。OK.
java學習ing.jpg