У меня есть следующий код, который отображает определенные символы строки в письмах:Как использовать значения HashMap для формирования строки?
String a = "94466602777330999666887770223377778077778 883 336687777";
String[] tokens = a.split("(?<=(.))(?!\\1)");
Map<String, String> hmap = new HashMap<String, String>();
hmap.put("2", "A");
hmap.put("22", "B");
hmap.put("222", "C");
hmap.put("3", "D");
hmap.put("33", "E");
hmap.put("333", "F");
hmap.put("4", "G");
hmap.put("44", "H");
hmap.put("444", "I");
hmap.put("5", "J");
hmap.put("55", "K");
hmap.put("555", "L");
hmap.put("6", "M");
hmap.put("66", "N");
hmap.put("666", "O");
hmap.put("7", "P");
hmap.put("77", "Q");
hmap.put("777", "R");
hmap.put("7777", "S");
hmap.put("8", "T");
hmap.put("88", "U");
hmap.put("888", "V");
hmap.put("9", "W");
hmap.put("99", "X");
hmap.put("999", "Y");
hmap.put("9999", "Z");
hmap.put("1", ".");
hmap.put("0", " ");
После этого HashMap, я хочу вернуться в строку, которая кроющих мою предыдущую строку «94466602777330999666887770223377778077778 +883 336687777» в «КТО ВАШИ ЛУЧШИЕ СТУДЕНТЫ»
Как вы можете отличить '4' (' G') от '44' (' H')? –
У вас уже есть хороший намек, который разбивает переменную 'a' на' tokens'. просто переберите его и получите соответствующую строку с помощью 'hmap.get()' – ymonad
Jecod, я не думаю, что вы поняли вопрос Тима. Когда вы намереваетесь получить письмо от своего HashMap, вы обычно будете называть map.get (key), где. Поэтому, если вы повторяете свою строку цифр. как вы знаете, когда нужно получить ключ = 4 или ключ = 44 или ключ = 444? У вас должен быть какой-то способ сделать это определение. И если вам нужна приличная помощь ... вы можете поделиться ею. – pczeus