日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java黑皮书课后题第6章:*6.21(电话按键盘)国际标准的字母/数字匹配图如编程练习题4.15所示。编写一个测试程序,提示用户输入字符串形式的电话号码。程序将字母(大写或小写)翻译成数字

發布時間:2024/7/23 java 21 豆豆

6.21(電話按鍵盤)

  • 題目
    • 題目描述與運行示例
    • 破題
  • 代碼

題目

題目描述與運行示例

6.21(電話按鍵盤)國際標準的字母/數字匹配圖如編程練習題4.15所示,編寫一個方法,返回給定大寫字母的數字,如下所示:
public static int getNumber(char uppercaseLetter)
編寫一個測試程序,提示用戶輸入字符串形式的電話號碼,輸入的數字可能會包含字母。程序將字母(大寫或小寫)翻譯成一個數字,然后保持其它字符不變。下面是該程序的運行示例:

Enter a string:1-800-Flowers 1-800-3569377 Enter a string:1800flowers 18003569377

破題

  • 主方法:接收用戶輸入的字符串、將字符串的字符一個一個傳遞給getNumber方法并接收int型返回值(如接收到負數,則保留原字符輸出)、輸出結果
  • getNumber方法:接收char型數據并強轉為int型(ASCII碼)后,如果①[48, 57]之間:直接返回int值;②[65, 90]或[97, 122]之間:匹配該字母的大寫字母的鍵盤對應值,再返回;③其它范圍:返回負1
  • 代碼

    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所示。编写一个测试程序,提示用户输入字符串形式的电话号码。程序将字母(大写或小写)翻译成数字的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。