Получить все двойные числа в файле и вернуть сумму, но избегать значений с несколькими точками.
Контрольный пример:
В файле
12.3,123.45,19,2.16.8.1.1
output
Ожидаемый результат -> 154.75 Мой вывод -> 166.01
-?\\d+\\.?\\d*
при этом будут получены все двойные числа, но при этом не удастся игнорировать числа с несколькими точками.
FileReader reader = new FileReader(filename);
BufferedReader in = new BufferedReader(reader);
String line;
while ((line = in.readLine()) != null) {
Pattern pattern = Pattern.compile("-?\\d+\\.?\\d*");
Matcher matcher = pattern.matcher(line);
while (matcher.find()) {
String x = matcher.group(0);
y = Double.parseDouble(x);
sum = sum + y;
}
}
Ожидаемый результат -> 154.75 Мой вывод -> 166.01