/
alim4ik-had
/
SberJavaCourseBeginner
Обзор
Документация
Войти
/
alim4ik-had
/
SberJavaCourseBeginner
Код
Запросы
2
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
hw2/task3/FindSum.java
45 строк
2 KB
alimo
task3_completed
09 мар 2025, 13:53
09 мар 2025, 13:53
3f4e367
Код
Авторство
О чём код?
package hw2.task3; import java.util.Scanner; public class FindSum { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Введите текст:"); String[] arrayChar = changeText(sc.nextLine()).split(" +"); String summ = sumElems(arrayChar); System.out.println("Сумма чисел:\n"+summ); } private static String changeText(String text){ String newText = text.replaceAll("[^\\w\\s,.-]", " "); return newText.replaceAll(",", "."); } private static String sumElems(String[] array){ double sum = 0; String sumText = ""; for (String elem : array) { try { String changeElem = elem.replaceFirst("^[.]+", "").replaceFirst("[.]+$", ""); sum += Double.parseDouble(changeElem); sumText += changeElem + " + "; } catch (NumberFormatException e) { // просто начинается следующий цикл } } StringBuilder newSumText = new StringBuilder(sumText); int lastPlusIndex = newSumText.lastIndexOf("+"); int firstPlusIndex = newSumText.indexOf("+"); if(lastPlusIndex == -1){ return "В тексте нет чисел!"; } else if (lastPlusIndex == firstPlusIndex){ newSumText.setCharAt(lastPlusIndex, ' '); return newSumText.toString(); } newSumText.setCharAt(lastPlusIndex, '='); sumText = newSumText.toString(); sumText += sum; return sumText; } }