Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/88: Рейтинг темы: голосов - 88, средняя оценка - 4.98
2 / 2 / 1
Регистрация: 22.07.2015
Сообщений: 36

Программа с подсчетом вещественных чисел из System.in

20.10.2015, 18:23. Показов 18548. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо написать программу, читающую текст из System.in и выводящую в System.out сумму всех встреченных в тексте вещественных чисел с точностью до шестого знака после запятой. Числом считается последовательность символов, отделенная от окружающего текста пробелами или переводами строк и успешно разбираемая методом Double.parseDouble. Надо написать программу полностью, т.е. объявить класс (с именем Main), метод main, прописать все import'ы.

Sample Input 1:
1 2 3
Sample Output 1:
6.000000

Sample Input 2:
a1 b2 c3
Sample Output 2:
0.000000

Sample Input 3:
-1e3
18 .111 11bbb
Sample Output 3:
-981.889000
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.10.2015, 18:23
Ответы с готовыми решениями:

Программа определения максимального по модулю чисел из массива вещественных чисел
Помогите пожалуйста, если не сильно сложно. Разработать программу определения максимального по модулю чисел из массива вещественных чисел,...

Программа определения максимального по модулю чисел из массива вещественных чисел
Помогите пожалуйста, если не сильно сложно. Разработать программу определения максимального по модулю чисел из массива вещественных чисел,...

Программа для генерации вещественных чисел
Нужна код программы на СИ для генерации вещественных чисел(отрицательных и положительных). Вот что у меня получилось(но код не работает): ...

6
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
20.10.2015, 18:28
Это как ты посчитал:

Sample Input 3:
-1e3
18 .111 11bbb
Sample Output 3:
-981.889000

???

Если до завтра утра подождёшь, напишу тебе программу
0
2 / 2 / 1
Регистрация: 22.07.2015
Сообщений: 36
20.10.2015, 18:32  [ТС]
Sample Input 3:
-1e3
18 .111 11bbb
Sample Output 3:
-981.889000

???
Это из задания, сам пытаюсь эту строчку понять.

Если до завтра утра подождёшь, напишу тебе программу
Мне пока не горит, буду благодарен.
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
20.10.2015, 21:50
А, понял:

-1e3 =>

double number = Double.parseDouble("-1e3"); => -1000;

-1000 + 18.блабла = -981.889000

Добавлено через 2 часа 19 минут
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.util.Scanner;
 
public class MaxValue {
    public static void main(String[] args) {
        //объявляем переменные
        String inputText = "";
        double summ = 0;
 
        //вводим данные (выход из ввода нажатием 2 раза Enter)
        System.out.println("Input data:");
        Scanner readData = new Scanner(System.in);
        while (true){
            String str = readData.nextLine();
            if (str.equals("") == true) break;
            else inputText += str + " ";
        }
 
        //делим строку по пробелу на строковой массив
        String[] arrayStr = inputText.split("\\s");
 
        //преобразуем массив строк в double и складываем преобразованные строки
        for (int i = 0; i < arrayStr.length; i++){
            double temp = 0;
            try {
                temp = Double.parseDouble(arrayStr[i]);
            }
            catch (NumberFormatException e) {
 
            }
            if (temp != 0) summ += temp;
        }
 
        //выводим ответ (сумму) в консоль с 6-и знаками после запятой
        System.out.println("Output summ: " + String.format("%.6f", summ));
 
    }
}
Добавлено через 1 минуту
Работает на ура...тестировал с твоими строками тестовыми )))
1
2 / 2 / 1
Регистрация: 22.07.2015
Сообщений: 36
20.10.2015, 23:23  [ТС]
ArtemFM, Спасибо большое. Но у меня осталась проблема, я немного изменил код: поскольку по условиям задачи не предполагалось выхода из ввода через 2 Entera, я содержимое цикла вытащил в метод, но у меня перестала проходить проверка
Sample Input 3:
-1e3
18 .111 11bbb
Sample Output 3:
-981.889000
Теперь выдается результат "Output summ: -1000.000000". Не понимаю почему, вроде все осталось тоже самое. Ниже прикладываю исправленый код. Можете подсказать?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        //объявляем переменные
        String inputText = "";
        double summ = 0;
 
        //вводим данные (выход из ввода нажатием 2 раза Enter)
        System.out.println("Input data:");
        Scanner readData = new Scanner(System.in);
        String str = readData.nextLine();
        inputText += str + " ";
 
        //делим строку по пробелу на строковой массив
        String[] arrayStr = inputText.split("\\s");
 
        //преобразуем массив строк в double и складываем преобразованные строки
        for (int i = 0; i < arrayStr.length; i++){
            double temp = 0;
            try {
                temp = Double.parseDouble(arrayStr[i]);
            }
            catch (NumberFormatException e) {
 
            }
            if (temp != 0) summ += temp;
        }
 
        //выводим ответ (сумму) в консоль с 6-и знаками после запятой
        System.out.println("Output summ: " + String.format("%.6f", summ));
 
    }
}
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
21.10.2015, 01:27
Так не получится...там while не просто так стоял )))

Суть в том, что при переходе Enter на новую строку в консоли, он снова начинал читать данные, а у тебя 1 строку прочёл, а после Enter сразу вывел результат....

Другого варианта нет, у тебя же в задаче указано, что строк может быть сколько угодно, а в твоём переделанном примере только 1...

А выход по 2-м Enter это не совсем так...объясню

Когда ты нажимаешь Enter, он "ждёт" так скажем ввода новой строки, а если ты нажмёшь ещё раз Enter, то строка будет пустой и тогда происходит выход из while цикла

Добавлено через 1 минуту
а в выражении

-1e3
18 .111 11bb

первая строка и есть -1 * (10^3), что и даёт нам -1000
0
3 / 3 / 0
Регистрация: 12.04.2015
Сообщений: 12
20.10.2016, 15:54
Получите, распишитесь!

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.Scanner;
 
public class Main {
        public static void main(String[] args){
            double sum=0;
            try (Scanner scan = new Scanner(System.in)){
                while(scan.hasNext()){
                    if(scan.hasNextDouble()){
                        sum+=Double.parseDouble(scan.next());
                    } else {
                        scan.next();
                    }
                }
                
                System.out.printf("%.6f", sum);
            } catch(Exception e){
                System.out.printf("%.6f", 0);
            }
        }
    }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.10.2016, 15:54
Помогаю со студенческими работами здесь

Программа сортировки элементов многомерного массива вещественных чисел
Привет:) Нужно написать программу на Delphi7:программа сортирует элементы многомерного массива вещественных чисел.Рез-тат отображается в...

Программа перевода двоичных (целых и вещественных) чисел в шестнадцатеричные и обратно
Прошу помочь составить программу, которая переводила бы двоичные числа (целые и дробные, т.е. вещественные) в шестнадцатеричные и обратно....

Оконная программа: Создать файл вещественных чисел, дополнить его теми же числами в обратном порядке
Использовать типизированный файл, использовать opendialog для открытия файла.

Оконная программа: Дан файл вещественных чисел. Заменить в нем все элементы на их квадраты. - типизированные файлы
использовать типизированный файл, opendialog для открытия файла с числами (числа показываться будут в мемо1), savedialog для сохранения...

программа с подсчетом
всем привет.помогите с циклом пожалуйста.вот кусок программы import java.util.Scanner; public class COCwallsCALC { final...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru