Наполняю список с клавиатуры пока не введу специальное слово, потом вывожу все слова на экран кроме последнего.
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()
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Хочу написать морской бой с “бесконечным” полем, то есть поле увеличивалось бы в масштабах, количество кораблей тожеКлиент серверное приложение
В главной активности находится класс фрагмента использующий LoaderManager для загрузки данных из БД для отображения их изменения в реальном времени,...
Как получить байт код класса, это понятно, можно при помощи идеи или же дефолтными средствами