Наполняю список с клавиатуры пока не введу специальное слово, потом вывожу все слова на экран кроме последнего.
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayString<String> list = new ArrayList<String>();
for(int i = 0; i < Integer.MAX_VALUE; i++){//я же не знаю сколько раз я захочу водить слова:)
if(reader.readLIne().eqals("end")) break;//то самое условие с спец. словом
else list.add(reader.readLine());//а если не оно то продолжаем
}
for(int i = 0; i < list.size(); i++){
System.out.println(list.get(i));
}
ломаю голову почему выводит в консоль каждое второе слово. Добавляю вывод размера списка.
System.out.println(list.size());
System.out.println(list.get(i));
И знаете что? показывает, что размер списка ровно в половину меньше колличества введённых элементов. Т.е. он выводит все, вот только не все записывает в список. Кто знает почему?
Все проще
String stop = "end";
List <String> inputList = new ArrayList <>();
Scanner sc = new Scanner(System.in);
while(true) {
String nextLine = sc.nextLine();
if (stop.equals(nextLine)) break;
else inputList.add(nextLine);
}
System.out.println(inputList);
P.S. А выводит через один элемент потому, что вы в коллекцию пишите через один, ведь в цикле дважды вызывается reader.readLine()
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости