Добрый день! Прошу объяснить некоторые моменты. Я начала решать через поиск чисел в считанной из файла строке с помощью паттерна, хотела их сравнить с ключами в мапе и при соответствии заменить значением из мапы. Посмотрев правильное решение и прочитав кучу вопросов в "помощи": 1) Для решения задачи в принципе не нужны паттерны? Строки из кода лишние? И почему при выводе в консоль переменной numS выводится только первое число из строки из файла? Я для себя уяснила, что из-за того, что как только в строке if (matcher.find()) нашлось первое число, оно записалось в numS и if закончил свою работу? Если использовать while, то сначала запишется первое число из строки, потом "перезапишется" второе и результатом будет последняя итерация?
Pattern pattern = Pattern.compile("\\b\\d+\\b");
               Matcher matcher = pattern.matcher(line);
              if (matcher.find()) {
                  numS = matcher.group();
                // System.out.println(num);
              }
2) Нет смысла сравнивать числа из считанных строк в цикле с ключами мапы, так как все равно не записываются в numS все нужные числа из строки. И использовать переменную result тоже не нужно, так как она "перезаписывается" так же по последней итерации? 3) Можно как-то мое нерабочее решение привести с рабочему коду?