50.輸入數字判斷它是不是迴文數

編程題目:

50.輸入一個5位數,判斷它是不是迴文數。例如:12321是迴文數,個位與萬位相同,十位與千位相同。

示例代碼:

package program.calculation.exercise50;

import java.util.Scanner;

/**
* 50.輸入一個5位數,判斷它是不是迴文數。
* 例如:12321是迴文數,個位與萬位相同,十位與千位相同。
*/

public class PalindromicNumber {
	public static void main(String[] args) {
		
	    System.out.println("請輸入一個5位數:");
		@SuppressWarnings("resource")
		Scanner scanner = new Scanner(System.in);
		int number = scanner.nextInt();
		
		System.out.println("第一種方式:");
		if(isPalindromicNumber1(number)) {
			System.out.println(number+"是迴文數!");
		}else {
			System.out.println(number+"不是迴文數!");
		}
		
		System.out.println("第二種方式:");
		if(isPalindromicNumber2(number)) {
			System.out.println(number+"是迴文數!");
		}else {
			System.out.println(number+"不是迴文數!");
		}
		
	}
	
	//第一種方式:判斷是否是迴文數
	private static boolean isPalindromicNumber1(int number) {
		
		String str = Integer.toString(number);
		char[] cs = str.toCharArray();
		if(cs[0] == cs[cs.length-1]){
			if(cs[1] == cs[cs.length-2]){
				return true;
			}
		}
		return false;
		
	}
	
	//第二種方式:判斷是否是迴文數
	private static boolean isPalindromicNumber2(long number) {
		
		int count = 0;
		int[] numArr = new int[5];
		
		do {
			numArr[count] = (int)(number%10);
			number /= 10;
			count++;
		}while(0 != number);
		
		for (int i=0; i<count; i++) {
			if(numArr[i] != numArr[--count]) {
				return false;
			}
		}
		return true;
 
	}

}

結果顯示:

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章