java чтение из файла чисел

Скажем, у меня есть файл с именем «input.txt» , в котором есть куча положительных целых чисел:

и т.д. (одно целое на строку)

Я хочу прочитать этот файл и сделать его в массив. Первое целое число (в данном случае 6) сообщает количество индексов или элементов в массиве, поэтому 6 точек. Остальные числа заполняют массив, начинающийся с 0. Таким образом, при индексе 0 число равно 5, при индексе 1 — 6 и т.д.

Может кто-нибудь, пожалуйста, покажите мне, как прочитать этот файл и сделать его в массив с именем A и вернуть целые числа в каждом индексе как n?

это то, что у меня есть до сих пор:

Я думаю, что я делаю что-то совершенно неправильное. пожалуйста, помогите.

Я не могу понять, как сделать этот txt-файл с номерами в массив, я могу заставить его читать и печатать экран, но мне нужно уметь организовывать номера и удалять дубликаты. Это то, что мой код выглядит до сих пор

1 ответ

Я бы рекомендовал использовать ArrayList, а не массив.

С массивом вы должны были бы проанализировать список и вычислить количество строк, прежде чем вы могли бы даже инициализировать его. ArrayList гораздо более гибкий, так как вам не нужно объявлять, сколько значений будет добавлено к нему.

Дана задача на нахождение наибольшего числа. Есть файл chisla.txt, содержащий числа 3, 8, 1, 5 в столбик. Необходимо в коде этот файл прочитать и найти наибольшее число.

Я знаю как вывести эти числа на экран и как прописав массив найти в нем наибольшее.
Но как соединить эти две задачи? Как прописать в коде этот «переход» с одной задачи на другую?

3 ответа 3

Раз всё же начали давать ответы, то с использованием Java 8 можно поступить так:

Все строки из файла, а точнее поток строк Stream , возвращаемый in.lines() , привести к потоку int -чисел ( IntStream , возвращаемый mapToInt ) с помощью Integer.parseInt , после чего этот поток преобразовать в массив int[] с помощью toArray() .

Также нужно не забывать закрывать BufferedReader после чтения данных. В представленном коде это делается с помощью конструкции try-with-resources.

А вообще, максимум можно находить и с помощью самого IntStream :

В массив закидывать не обязательно, вы просто можете прочитать построчно файл, сравнивая с текущим максимумом:

Источник: computermaker.info

Техника и Гаджеты
Добавить комментарий