package com.javarush.task.task07.task0720;
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));
int N = Integer.parseInt(reader.readLine());
int M = Integer.parseInt(reader.readLine());
//напишите тут ваш код
ArrayList<String> list=new ArrayList<String>() ;
for (int i = 0; i<N; i++){
list.add(i,reader.readLine());
}
for(int i = 0; i<M; i++){
list.add(list.get(i));
}
for(int i = 0; i<M; i++){
list.remove(i);
}
for(int i = 0; i<list.size();i++){
System.out.println(list.get(i));
}
}
}
Артем
8 уровень
ничего не получается, выдает ошибку.
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #2218687
27 февраля 2020, 16:52
Первое - когда ты только наполняешь список, не надо использовать конструкцию: "list.add(i,reader.readLine()). Лучше просто добавляй по умолчанию в конец списка, иначе в какой-нибудь раз это может поломать тебе весь список. Сделай так:
Второе - чтобы переставить в конец и удалить одновременно вначале, просто в цикле добавления удаляй сразу при помощи "list.remove(0). Ошибка скорее всего заключается в предпоследнем цикле, когда ты удаляешь i - ый элемент, у тебя уменьшается размер списка, и в итоге ты выходишь за границы списка. Сделай как я и говорил вместо двух циклов один:
+3
madcozbadBackend Developer в ANCOR
3 марта 2020, 09:35
согласен с Александром
0
Александр Пьянов
26 февраля 2020, 07:22
Для начала нужно предоставлять больше информации: обычно в стэк-трейсе пишется где и какая ошибка; так же код лучше оформлять в редакторе, что бы номера строк были.
На вскидку: посмотрите цикл где происходит удаление (нужно удалять нулевой элемент, а то удаление будет происходить не ожидаемо), далее в цикле вообще не рекомендуется удалять элементы, обычно это происходит добавлением в новый список нужных и затиранием ссылки на старый, ну и раз уж на то пошло, если хотите удалять - то и добавляйте сразу, что бы размер списка не изменился.
0