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

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

04.02.2018, 18:52. Показов 11909. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
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