Я пас - туплю.Объясните действия компилятора.
1.Создаём бесконечный цикл.
2.Добавляем в список *путём считывания с клавиатуры.
3.Проверяем есть ли в списке list значение "end" -выходим из списка.
4. Выводим каждое значение с новой стоки.
Почему не выходит из цикла, получается бесконечный цикл...
Как это условие правильно написать .
Потому что если у условии писать reader.readLine().equals("end") --получается, что мы проверяем уже другую строку -не ту что добавили.
А как сделать так чтобы мы проверяли конкретно ту строку которую и добавляем...
package com.javarush.task.task07.task0722;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Это конец
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> list = new ArrayList<>();
for (;;) {
list.add(reader.readLine());
if (list.equals("end")){
break;
}
}
for (String x:list){
System.out.println(x);
}}
}