Java黑皮书课后题第6章:**6.3(回文整数)使用下面的方法头编写两个方法:……使用reverse方法实现isPalindrome。如果一个数字的逆序数和它自身相等,这个数就称为回文数。
6.3(回文整數)使用下面的方法頭編寫兩個方法:……使用reverse方法實現isPalindrome。如果一個數字的逆序數和它自身相等,這個數就稱為回文數。
- 題目
- 題目概述
- 破題:假設沒有提示語句(待修改)
- 代碼
- 運行示例
題目
題目概述
6.3(回文整數)使用下面的方法頭編寫兩個方法:
// Return the reversal of an integer, e.g., reverse(456) returns 654
public static int reverse(int number)
// Returen true if number is a palindrome
public static boolean isPalindrome(int number)
使用reverse方法實現isPalindrome。如果一個數字的逆序數和它自身相等,這個數就稱為回文數。
編寫程序,提示用戶輸入一個整數值,然后報告這個整數是否是回文數
破題:假設沒有提示語句(待修改)
以上給出的兩個方法,第一個是接收一個int型數值再返回一個int型數值,第二個是接收一個int型數值并返回boolean布爾值
一般這本黑皮書上的題對應相應的英文,直接翻譯過來就能知道想干什么
主方法調用(判斷是不是回文數):isPalindrome()方法
isPalindrome方法()調用(對數值進行逆轉):reverse()方法
如果沒有任何提示,且題目里也沒有說明、無法翻譯:
這個時候可以靈活使用,除了上面的方案外,還可以(這種方法略顯復雜且冗余):
主方法調用revese()方法:假設revese()方法返回0時為回文數,主方法內需要根據接收到的數值與0是否全等判斷
reverse()方法調用isPalindrome()方法:isPalindrome()方法可以返回是否為回文數的boolean值,reverse()方法再將boolean值轉化為0或其他值返回給主方法
注意傳入的整數可能是正整數、負整數和0
代碼
import java.util.Scanner;public class Test6_3 {public static void main(String[] args) {// 接收用戶輸入Scanner input = new Scanner(System.in);System.out.print("請您輸入一個整數:");int user_input = Math.abs(input.nextInt());// 提前攔截輸入為0if (user_input == 0){System.out.print("輸入整數是0,是回文數");System.exit(1);}// 判斷是否為回文數,并根據返回值確定輸出內容boolean bool = isPalindrome(user_input);if (bool)System.out.print("輸入整數是回文數");elseSystem.out.print("輸入整數不是回文數");}// 判斷輸入數值是否為回文數public static boolean isPalindrome(int number){return number == reverse(number);}// 返回number的回文數public static int reverse(int number){String str = ""; // 臨時保存轉換后的數字(以String型存儲)for (;number > 0;number /= 10){str += number % 10;}return Integer.parseInt(str);} }運行示例
請您輸入一個整數:-121 輸入整數是回文數 Process finished with exit code 0總結
以上是生活随笔為你收集整理的Java黑皮书课后题第6章:**6.3(回文整数)使用下面的方法头编写两个方法:……使用reverse方法实现isPalindrome。如果一个数字的逆序数和它自身相等,这个数就称为回文数。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第6章:*6.2(求
- 下一篇: Java黑皮书课后题第6章:*6.4(反