Это конец

  • 13
  • Недоступна
Создать список строк. Ввести строки с клавиатуры и добавить их в список. Вводить с клавиатуры строки, пока пользователь не введет строку "end". Саму строку "end" не учитывать. Вывести строки на экран, каждую с новой строки.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (4)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сергей Слынько
Уровень 21
11 июля 2022, 23:15
list.add(reader.readLine());
            if(list.get(list.size()-1).equals("end")){
                list.remove("end");
                break;
Вопрос к знатокам, если я правильно понял как работает ArrayList, то после того как в массиве закончилось место он делает новый массив(размер * 1.5) тогда при вызове list.get(list.size()-1) я должен попасть на null если массив не заполнен полностью, так как я не просил его оптимизироваться и удалить все пустые ячейки, но сколько бы разных комбинаций по количеству введенных строк я не делал, я получаю нужный мне элемент КАК? Я провалился в метод get нашел там вот этот чек индекса: int checkIndex(int index, int length, BiFunction<String, List<Number>, X> oobef) { if (index < 0 || index >= length) throw outOfBoundsCheckIndex(oobef, index, length); return index; Пожалуйста кто шарит расскажите как это работает? Если самому попробовать обнулить последнюю ячейку списка, можно ли потом получить ее значение null или будет возвращать последнюю с данными?
Сергей Слынько
Уровень 21
11 июля 2022, 23:29
Почему я задался этим вопросом? -В готовом решении мы записываем "end" в переменную типа String, а потом сравниваем в условии if , я же сделал чуть по другому и интересует, может ли такое решение привести к БАгу?
30 мая 2022, 09:13
This is the end My only friend, the end
Aleksei Reinsalu
Уровень 19
12 ноября 2021, 11:19
повторение пройденного