В общем проблема заключается в том, что когда я копирую строки в конец списка и вывожу готовый список в консоль, перед "m" добавленных строк образуется пробел, пустая строка., и видимо валидатор считает это ошибкой. И плюс ко всему еще не выполняется условие: "Считай c клавиатуры числа N и M, считай N строк и добавь их в список." и вместе с ним и "Переставить M первых строк в конец списка." соответственно.
ps Добавлять без указания индекса позиции уже пробовал (list.size(), list.get(i))
pss Еще одна странная фигня, в циклах пришлось делать условия i <= n, хотя индексация в списках такая же как в массивах, с нуля. А значит условие должно работать корректно без знака "=". Но тем не менее при вводе данных через сканнер считывается на одну единицу строк меньше чем "n". Пришлось ставить =.
psss Лишние принты для себя делал, проверку без них проходил, все тоже самое.
package com.javarush.task.task07.task0720;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
/*
Перестановочка подоспела
*/
public class Solution {
public static void main(String[] args) throws IOException {
int x = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("Ввести n");
int n = scanner.nextInt();
System.out.println("Ввести m");
int m = scanner.nextInt();
ArrayList<String> list = new ArrayList<>();
System.out.println("Ввести n строк");
for (int i = 0; i <= n; i++)
list.add(scanner.nextLine());
scanner.close();
for (int i = 0; i <= m; i++) {
list.add(list.size(), list.get(i));
}
for (int i = 0; i <= m; i++) {
list.remove(x);
}
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}