Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/55: Рейтинг темы: голосов - 55, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 27.01.2018
Сообщений: 15

Ввод неизвестного количества чисел с консоли

04.02.2018, 18:52. Показов 11943. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть простенькая программа, которая должна ввести все числа с консоли и вывести их корни, но цикл, в котором происходит записывание чисел в список заканчивает программу. То есть если я введу в консоль 3 числа, цикл запишет в массив 3 числа, но на этом программа завершится и просто закончит свое выполнение.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.ArrayList;
import java.util.Scanner;
 
public class Task1000 {
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
      
 
        ArrayList<Integer> arr = new ArrayList<>();
         while(sc.hasNextInt()){
             arr.add(sc.nextInt());
         }
 
        for(int i = arr.size()-1; i >= 0; i--){
 
            System.out.printf("%.2f" , (double)Math.sqrt(arr.get(i)));
        }
 
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.02.2018, 18:52
Ответы с готовыми решениями:

Ввод с консоли не известного заранее количества чисел
Предложите алгоритм ввода таким образом чисел. Для объяснения, что надо напишу какие варианты нашел и почему они так или иначе не...

Запись с консоли в массив неизвестного заранее количества элементов
Друзья, всем привет! Парюсь над задачкой: Ввести значения с консоли и определить максимальное значение. Столкнулся с проблемой, не могу...

Ввод заранее неизвестного количества чисел массива с клавиатуры
Как написать код, чтобы пользователь вводил числа в массив количество элементов которого не известно

11
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
04.02.2018, 19:03
Alexandr_apk, будет гонять, пока не введешь 0 или отрицательное
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.ArrayList;
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList<Integer> arr = new ArrayList<>();
        int x;
        while (true) {
            x = sc.nextInt();
            if (x <= 0) break;
            arr.add(x);
        }
        for (int i = arr.size() - 1; i >= 0; i--) {
            System.out.printf("%.2f", (double) Math.sqrt(arr.get(i)));
        }
    }
}
0
0 / 0 / 0
Регистрация: 27.01.2018
Сообщений: 15
04.02.2018, 19:05  [ТС]
А никак нельзя без этого? Сам по себе цикл никак не закончиться, если не вводить эти числа?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
04.02.2018, 19:09
Alexandr_apk, ну как вот цикл может кончиться сам по себе???
Цикл - это повтор с условием. Если без условия - он бесконечен.

Добавлено через 28 секунд

Не по теме:

телепаты в отпуске...



Добавлено через 1 минуту
Не нравится так, можно ограничить количество вводимых чисел
0
0 / 0 / 0
Регистрация: 27.01.2018
Сообщений: 15
04.02.2018, 19:10  [ТС]
Ну условием есть то, что на консоли есть еще число , но когда числа заканчиваются, программа заканчивается. Если мне нужно ввести все числа из консоли и они могут быть равны любому числу , как быть? И кроме чисел ничего не вводиться. Это что, невозможно?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
04.02.2018, 19:13
Тогда в консоли вводишь числа через пробел, после нажатия enter прога тебе их все вносит в лист и заканчивает работу.
0
0 / 0 / 0
Регистрация: 27.01.2018
Сообщений: 15
04.02.2018, 19:26  [ТС]
В том то и дела, что не заканчивает. Я так и делаю, но все же ничего потом не происходит

Добавлено через 13 минут
И не понятно что сделать.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
04.02.2018, 19:30
Цитата Сообщение от Alexandr_apk Посмотреть сообщение
И не понятно что сделать.
по-человечески объяснить, чего тебе надо, например
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
04.02.2018, 19:43
Alexandr_apk, ну, как вариант, считать целиком строку и разбить ее на числа в массив...

Добавлено через 9 минут
Alexandr_apk, извращенство, конечно, но...
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.ArrayList;
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList<Integer> arr = new ArrayList<>();
        String s = sc.nextLine();
        sc = new Scanner(s);
        while (sc.hasNextInt()){
            arr.add(sc.nextInt());
        }
        for (int i = arr.size() - 1; i >= 0; i--) {
            System.out.printf("%.2f ", (double) Math.sqrt(arr.get(i)));
        }
    }
}
0
0 / 0 / 0
Регистрация: 27.01.2018
Сообщений: 15
04.02.2018, 19:55  [ТС]
Может и извращенство , но это работает, в отличие от первого варианта, так что спасибо большое за помощь.

Добавлено через 7 минут
А если данные будут не в одной строке, а в нескольких?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
04.02.2018, 20:00
Не прокатит. Здесь сканер читает строку, а потом из нее числа.
0
0 / 0 / 0
Регистрация: 27.01.2018
Сообщений: 15
04.02.2018, 20:30  [ТС]
Понятно, а можно все - таки как то реализовать этот вариант(числа на разных строках)?
Вообще вот задача
Исходные данные
Входной поток содержит набор целых чисел Ai (0 ≤ Ai ≤ 1018), отделённых друг от друга произвольным количеством пробелов и переводов строк. Размер входного потока не превышает 256 КБ.
Результат
Для каждого числа Ai, начиная с последнего и заканчивая первым, в отдельной строке вывести его квадратный корень не менее чем с четырьмя знаками после десятичной точки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.02.2018, 20:30
Помогаю со студенческими работами здесь

Ввод неизвестного количества int
Здравствуйте, при изучении c++ и соответственно решении задач, возникла проблема, что нужно вводить неизвестное количество int чисел, для...

Ввод неизвестного количества строк
Доброго времени суток! Мне требуется ввести неизвестное количество строк. Пример: Пробовал делать таким образом, но ничего не...

Ввод заранее неизвестного количества строк
Знающие люди помогите! Необходимо ввести с консоли определнное количество строк, заранее не известное, так чтобы по завершению ввода...

Считывание неизвестного количества чисел
Доброго времени суток, извините что отвлеккаю.Помогите начинающему.Имеется задача...Вводится ряд чисел ...Найти для них НОД.Собственно с...

Среднее из неизвестного количества чисел(Почему не правильно считает?)
Подскажите почему программа считает не правильно, если в последовательности есть отрицательные числа? Например при в вводе &quot;5 4 3...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru