когда я печатаю массив, он показывает только последнюю строку из текстового файла, а не все целиком?

#java #arrays #netbeans #text-files

#java #массивы #netbeans #текстовые файлы

Вопрос:

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

 String filePath10 = "src//SalmonSortingEfficiencies//10nums.txt";
String filePath10000 = "src//SalmonSortingEfficiencies//10000nums.txt";
String start;
boolean eof;
if (rBtn10.isSelected()) {
    try {
        String temp;
        String phrase;
        FileReader fr = new FileReader(filePath10);
        //opens the stream to the text file
        BufferedReader br = new BufferedReader(fr);
        //Reads the data in the text file
        eof = false;
        while (!eof) {
            start = br.readLine();
            if (start == null) {
                eof = true;
                // sets eof to true if the name is null/seeing
                // where the end of the file is so br stops reading
            } else {
                temp = br.readLine();
                int smallArrayNumbers = Integer.parseInt(temp);
                phrase = smallArrayNumbers   "n";
                for (int i = 0; i < 10; i  ) {
                    smallArray[i] = phrase;
                }
            }
        }
        br.close();
    } catch (IOException e) {
        System.out.println("Error"   e);
        //looks and prints out any errors found
    }
    for (String item : smallArray) {
        txtONumbers.append(item);
    }
}
 

Комментарии:

1. Почему у вас есть цикл for? Вы добавляете одно и то же значение в массив 10 раз.

2. чтобы добавить каждое число в мой текстовый файл, пока все 10 пробелов не будут заполнены

3. Каждый раз, когда вы считываете число, вы заполняете массив этим числом в for цикле. Удалите этот цикл. Объявить int i = 0; перед циклом чтения. Затем добавьте его в массив с помощью if (i < smallArray.length) smallArray[i ] = phrase;

4. Вы устанавливаете значение «фраза». Тогда у вас есть цикл, который добавляет это значение в массив 10 раз? Зачем ты это делаешь? У вас одно и то же значение 10 раз. У вас нет 10 уникальных значений.