Почему для readelements () для l oop не распечатывается? - PullRequest
0 голосов
/ 03 мая 2020

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

public static void Add()
{
    System.out.println("You may now enter your virtual diary entry...");
    System.out.println("You may END the program at any time by typing in endp...\n");
    boolean loop = true; 
    while(loop)
    {
        String Stop = Cons.nextLine();

        if (Stop.equals("endp")| Stop.equals(""))
        {
            readelements();
            break;  
        } else {
            for (int i =0 ; i <= Notes.size(); ) {

                Notes.add(i, Stop); 
                i++;
                break; 
            }
        }
    }
} 

public static void readelements()

{

    if (Empty()) {

        Empty();
    }
    for(int i =0; i < Notes.size(); i++) {
        System.out.println(i + " = " + Notes.get(i).toString());
        Notes.toString();
    }   
}

1 Ответ

0 голосов
/ 03 мая 2020

В вашем блоке else вы прерываете после одной итерации (когда i = 0), поэтому вы всегда запускаете Notes.add (0, Stop). Это добавляет Стоп к Заметкам, поэтому Заметки будут в обратном порядке. Удаление разрыва приведет к вставке дублирующихся элементов в заметки (обратите внимание, что вы зацикливаетесь, но всегда вставляете Стоп). Попробуйте изменить весь блок else на Notes.add(Stop);. Это добавит текущее значение Stop к концу Notes и должно исправить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...