Skip to content

Instantly share code, notes, and snippets.

@notpushkin
Created February 2, 2014 12:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save notpushkin/8768020 to your computer and use it in GitHub Desktop.
Save notpushkin/8768020 to your computer and use it in GitHub Desktop.
import java.util.*;
public class Predtech {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String[] s = new String[n + 2];
for (int i = 0; i < n + 1; i++) {
s[i] = sc.nextLine();
}
int sum = 0;
// для группировки найденных цифр и парсинга каждой группы в число
StringBuilder sb = new StringBuilder();
// для вывода строки-списка найденных чисел
StringBuilder sbout = new StringBuilder();
for (int j = 0; j < n + 1; j++) {
for (int i = 0; i < s[j].length(); i++) {
// проверка на принадлежность к цифрам
if (Character.isDigit(s[j].charAt(i))) {
// если текущий символ это цифра, то добавляем его в строку;
// увеличиваем индекс и смотрим сразу следующий символ;
// если будет не_цифра, то выйдем из текущего while
while (Character.isDigit(s[j].charAt(i))) {
sb.append(s[j].charAt(i));
i++;
// защита от выхода счётчика i за пределы длины строки,
// если последний символ в тексте - это цифра
if (i == s[j].length())
break;
} // выходим из while, имея группу цифр в объекте sb
int k = Integer.parseInt(sb.toString()); // парсинг sb в число
sum += k; // подсчёт суммы
sbout.append(k).append(", "); // формирование строки-списка найденных
// чисел
sb.delete(0, sb.length()); // очистка sb для повторного
// использования
} else {
// если текущий символ - это не_цифра,
// просто переходим к следующему
continue;
}
}
}
if (sbout.length() == 0) {
// если список найденных чисел пуст
System.out.println("Чисел в тексте не найдено");
} else {
System.out.println("Найденные в тексте числа: ");
// удаление лишних запятой и пробела, добавленных в конце списка
System.out.println(sbout.delete(sbout.length() - 2,
sbout.length() - 1));
System.out.println("Сумма чисел в заданном тексте = " + sum);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment