Java黑皮书课后题第6章:*6.21(电话按键盘)国际标准的字母/数字匹配图如编程练习题4.15所示。编写一个测试程序,提示用户输入字符串形式的电话号码。程序将字母(大写或小写)翻译成数字
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第6章:*6.21(电话按键盘)国际标准的字母/数字匹配图如编程练习题4.15所示。编写一个测试程序,提示用户输入字符串形式的电话号码。程序将字母(大写或小写)翻译成数字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
6.21(電話按鍵盤)
- 題目
- 題目描述與運行示例
- 破題
- 代碼
題目
題目描述與運行示例
6.21(電話按鍵盤)國際標準的字母/數字匹配圖如編程練習題4.15所示,編寫一個方法,返回給定大寫字母的數字,如下所示:
public static int getNumber(char uppercaseLetter)
編寫一個測試程序,提示用戶輸入字符串形式的電話號碼,輸入的數字可能會包含字母。程序將字母(大寫或小寫)翻譯成一個數字,然后保持其它字符不變。下面是該程序的運行示例:
破題
代碼
import java.util.Scanner;public class Test6_21 {public static void main(String[] args) {// 接收用戶輸入的字符串Scanner input = new Scanner(System.in);System.out.print("Enter a string:");String str = input.nextLine();// 傳遞給getNumber方法并輸出結果int length = str.length();int feedback = 0;for (int i = 0 ; i < length ; i++){feedback = getNumber(str.charAt(i));if (feedback != -1)System.out.print(feedback);elseSystem.out.print(str.charAt(i));}}public static int getNumber(char uppercaseLetter){// 轉為ASCIIint char_to_ASCII = (int) uppercaseLetter;// 如果是[48, 57],即數字則直接返回數字if (char_to_ASCII >= 48 && char_to_ASCII <= 57){return char_to_ASCII - 48;}// 如果是小寫字母:[97, 122],則轉為大寫字母if (char_to_ASCII >= 97 && char_to_ASCII <= 122)char_to_ASCII -= 32;// 如果此時不屬于大寫字母[65, 90],則直接返回-1if (char_to_ASCII < 65 || char_to_ASCII > 90)return -1;// 對大寫字母進行處理char_to_ASCII -= 64; // 此時A到Z對應1到26switch (char_to_ASCII){case 1: case 2: case 3:return 2;case 4: case 5: case 6:return 3;case 7: case 8: case 9:return 4;case 10: case 11: case 12:return 5;case 13: case 14: case 15:return 6;case 16: case 17: case 18: case 19: return 7;case 20: case 21: case 22:return 8;default:return 9;}} }總結
以上是生活随笔為你收集整理的Java黑皮书课后题第6章:*6.21(电话按键盘)国际标准的字母/数字匹配图如编程练习题4.15所示。编写一个测试程序,提示用户输入字符串形式的电话号码。程序将字母(大写或小写)翻译成数字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第6章:*6.20(
- 下一篇: Java黑皮书课后题第6章:**6.22