Добавить метод не работает при вставке целых чисел из файла данных в массив целых - PullRequest
0 голосов
/ 27 марта 2020
    import java.util.*;
import java.io.*;
import java.util.Set;
public class tester
{
    public static void main(String args[]) throws Exception
    {
        BufferedReader reader1 = new BufferedReader(new FileReader("numbers1.in"));
        //this will create a buffered reader to read the file, read each line
        //and count how many lines there are so I can easily create my array
        int lines = 0;
        while (reader1.readLine() != null)//reads each line
        {
            lines++;
        }
        reader1.close();


        Scanner reader2 = new Scanner(new File("numbers1.in"));//new scanner to read the file
        int numbers[] = new int[lines];//creates my array with correct array dimensions
        while(reader2.hasNextLine())
        {
            int next = reader2.nextInt();
            numbers.add(next);
        }



    }
}

Я новичок в этом, так что извините за грязный код. Я пытаюсь прочитать целые числа из файла данных, который включает в себя список целых чисел, каждое из которых разделено новой строкой. Я должен добавить каждый из них в массив целых чисел, и по какой-то причине метод .add из java .util.Set не работает, что выдает мне сообщение об ошибке, в котором говорится, что метод добавления не найден.

Буду признателен за любую помощь, спасибо!

1 Ответ

1 голос
/ 27 марта 2020

В java array длина неизменна. У него нет add метода.

Используйте List

List<int> numbers = new ArrayList<>();

while(reader2.hasNextLine()) {
     int next = reader2.nextInt();
     numbers.add(next);
}

Или, если вам нужно использовать только массив

int index = 0;

while(reader2.hasNextLine()) {
         int next = reader2.nextInt();
         numbers[index++] = next;
    }
...