第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

電話號(hào)碼與字母組合與遞歸方法拋出空指針異常

電話號(hào)碼與字母組合與遞歸方法拋出空指針異常

暮色呼如 2023-02-23 15:41:07
首先,我正在嘗試構(gòu)建一個(gè)程序,根據(jù)輸入的電話號(hào)碼打印出所有可能的字母組合。我的問題是我無法讓我的遞歸函數(shù)工作,我得到了跟隨錯(cuò)誤堆棧。錯(cuò)誤指向第 46 行是 "recursion("", line);和第 65 行是for (int i = 0; i < letters.length(); i++) {Exception in thread "main" java.lang.NullPointerException    at exercise.test.PhoneNumberCombo.recursion(PhoneNumberCombo.java:46)    at exercise.test.PhoneNumberCombo.main(PhoneNumberCombo.java:65)這是我的代碼:import org.apache.commons.io.IOUtils;public class PhoneNumberCombo {                        static void recursion(String combination, String next_digits) {                                List<String> result = new ArrayList<String>();                              Map<String, String> phone = new HashMap<String, String>() {{                    put("2", "abc");                    put("3", "def");                    put("4", "ghi");                    put("5", "jkl");                    put("6", "mno");                    put("7", "pqrs");                    put("8", "tuv");                    put("9", "wxyz");                  }};                              // BASE CASE no more digits found                if (next_digits.length() == 0) {                                         // the combination is built                    result.add(combination);                    System.out.println(result);                }                                else {                                    String digit = next_digits.substring(0, 1);                  String letters = phone.get(digit);                                    for (int i = 0; i < letters.length(); i++) {                    String letter = phone.get(digit).substring(i, i + 1);                                      recursion(combination + letter, next_digits.substring(1));                }            }                   }    
查看完整描述

1 回答

?
千巷貓影

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

顯然,失敗的行表明lettersnull. 例如,這將發(fā)生在您的地圖中不存在的"0"or或任何其他."1"phoneString

你必須處理 whereletters之后null的情況String letters = phone.get(digit)。是跳過這個(gè)String還是拋出一個(gè)關(guān)于不合適符號(hào)的顯式異常。


查看完整回答
反對(duì) 回復(fù) 2023-02-23
  • 1 回答
  • 0 關(guān)注
  • 126 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)