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

Запись с консоли в массив неизвестного заранее количества элементов

21.11.2017, 00:10. Показов 16406. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Друзья, всем привет!
Парюсь над задачкой: Ввести значения с консоли и определить максимальное значение.
Столкнулся с проблемой, не могу понять, как записать с консоли в массив значения, не зная заранее их количество.
1) Количество элементов неизвестно
2) Размер массива, как следствие, тоже неизвестен изначально.

В другой теме кто-то рассматривал такой вариант:
Java
1
2
3
4
5
6
while (sc.hasNext()) {
            tmp = sc.nextInt();
            if(tmp == 100){
                break;
            }
        } // Нужно доработать под массив
Но тут нужно кодовое значение нужно - не подходит, а иначе - вводить можно бесконечно.
Вариант с коллекцией:
Java
1
for(int i = 0; i < arrayList.size(); i++){...}
Тоже не то, размер нужен.
Значения я могу вводить, как вариант, через пробел, а завершать ввод нажав Enter - не пойму как.
Пробовал кучу всего, затык один - до каких пор вводить значения (напр. i < arrayList.size()).
Сильно не гневайтесь, я начинающий самоучка. Посоветуйте плз, в какую сторону глядеть.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.11.2017, 00:10
Ответы с готовыми решениями:

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

Программное создание неизвестного заранее количества массивов
Доброго времени суток. Помогите пожалуйста решить задачу. Необходимо программно создавать определенное количество массивов - причем...

Подсчет суммы заранее неизвестного количества ячеек
Здравствуйте. Есть задача такая: Необходимо из листа АСУТПиМ перенести на лист МатерХРиГСМ данные причем если в листе АСУТПиМ стоит...

4
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,765
21.11.2017, 08:16
Цитата Сообщение от MaxTomcat Посмотреть сообщение
Тоже не то, размер нужен.
Не нужен.
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
21.11.2017, 17:10
MaxTomcat,

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
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
 
public class Start {
    public static void main(String[] args) {
        List<Integer> array = new ArrayList<Integer>();
        Scanner in = new Scanner(System.in);
        boolean run = true;
        
        do {
            System.out.print("Введите число: ");
            
            array.add(Integer.parseInt(in.nextLine()));
            
            System.out.print("Продолжить? (Д/Н): ");
            
            if (!in.nextLine().equalsIgnoreCase("Д")) {
                run = false;
            }           
        } while (run);
        
        for (int i = 0; i < array.size(); i++) {
            System.out.printf("Число Nº%d = %d \n", i + 1, array.get(i));
        }
        
        System.out.print("Выход из программы.");
        
        in.close();     
    }   
}
1
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
21.11.2017, 17:26
Цитата Сообщение от MaxTomcat Посмотреть сообщение
arrayList.size()
Добавлять можете сколько хотите элементов. С каждым добавленным элементом size будет на 1 увеличиваться. И будет равен количеству добавленных элементов.
Цитата Сообщение от MaxTomcat Посмотреть сообщение
Тоже не то
C for'ом не то. С Коллекцией - самое оно.
1
 Аватар для Aviz__
2739 / 2048 / 507
Регистрация: 17.02.2014
Сообщений: 9,467
22.11.2017, 11:17
Лучший ответ Сообщение было отмечено MaxTomcat как решение

Решение

Вот, по другому
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
38
39
40
41
42
import java.util.Scanner;
 
public class CyberForum {
    private static int indexBox;
    private static int [] box = new int[1];
 
    private static void addInBox(int elem) {
        if (indexBox < box.length)
            box[indexBox++] = elem;
        else {
            box = getNewArr(box);
            box[indexBox++] = elem;
        }
    }
 
    private static int [] getNewArr(int [] oldArr) {
        int [] newArr = new int[oldArr.length*2];
        for (int i = 0; i < oldArr.length; i++)
            newArr[i] = oldArr[i];
        return newArr;
    }
 
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        boolean run = true;
 
        do {
            System.out.print("Введите число: ");
            addInBox(Integer.parseInt(in.nextLine()));
            System.out.print("Продолжить? (y/n): ");
            if (in.nextLine().equalsIgnoreCase("n")) {
                run = false;
            }
        } while (run);
 
        for (int i = 0; i < box.length; i++) {
            System.out.printf("Индекс числа %d само число %d \n", i, box[i]);
        }
        System.out.print("Выход из программы.");
        in.close();
    }
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.11.2017, 11:17
Помогаю со студенческими работами здесь

Заполнение заранее неизвестного количества байт (tasm)
Читал на хабре статью Пишем свою ОС. Там был приведен код загрузчика на yasm. И так как код располагается в загрузочном секторе, то мы...

Считывание заранее неизвестного количества вещественных чисел из файла
Работаю в среде VisualC++ 6.0. Всё что можно сделать алгоритмом чистого си делаю так. Привычка, может быть немного дурная) (используются...

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

Ввод неизвестного количества чисел с консоли
Есть простенькая программа, которая должна ввести все числа с консоли и вывести их корни, но цикл, в котором происходит записывание чисел в...

Массив заранее неизвестного размера
Скажите как создать массив за рание не известной размерности. Искал по форумам приимеры описания, толька так и не нашел ничего.Спасибо!


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru