/
eelamimi
/
SberJavaCourseBeginner
Обзор
Документация
Войти
/
eelamimi
/
SberJavaCourseBeginner
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/courseSber/homework/hw2/task3/Main.java
38 строк
1 KB
glebka
task 3 complete
01 мар 2025, 23:33
01 мар 2025, 23:33
eb733e1
Код
Авторство
О чём код?
package courseSber.homework.hw2.task3; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Введите предложение"); String s = sc.nextLine().replaceAll(",", "."), tmpNum = "", resOut = ""; double sum = 0; for (int i = 0; i < s.length() - 1; i++) { boolean digitNext = Character.isDigit(s.charAt(i + 1)); if (Character.isDigit(s.charAt(i)) || (s.charAt(i) == '.' && digitNext)) { tmpNum += s.charAt(i); // на случай если число в конце строки, пример: // input: 50,5 + 46 = 96,5 // output: 50.5 + 46 + 96.5 = 193.0) if (digitNext && i == s.length() - 2) { tmpNum += s.charAt(i + 1); } } else if (!tmpNum.isEmpty()) { resOut += " + " + tmpNum; // у меня работает parseDouble только с точкой sum += Double.parseDouble(tmpNum); tmpNum = ""; } } // если число в конце строки if (!tmpNum.isEmpty()) { resOut += " + " + tmpNum; sum += Double.parseDouble(tmpNum); } System.out.println(resOut.substring(3) + " = " + sum); } }