import java.util.*;
import java.io.*;
public class cses6 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
String m = "";
ArrayList<Integer> even = new ArrayList<Integer>();
ArrayList<Integer> odd = new ArrayList<Integer>();
ArrayList<String> stringjoin = new ArrayList<String>();
if (n == 1) {
System.out.println(n);
}
if (1 < n && n< 4) {
System.out.println("NO SOLUTION");
}
even.set(0, 4);
even.set(1, 2);
odd.add(0, 1);
for (int i = 1; i < n+1 && i > 4; i++) {
if (i % 2 == 0) {
even.add(i);
} else {
odd.add(i);
}
}
odd.addAll(even);
for (int i = 1; i < odd.size(); i++) {
m = Integer.toString(odd.get(i));
stringjoin.set(i,m);
}
System.out.println(stringjoin.toString().replace(", ", " ").replace("[", "").replace("]",""));
}
}
Моя проблема в том, что: Ввод
Единственная строка ввода содержит целое число n.
Выход
Выведите красивую перестановку целых чисел 1,2,...,n. Если существует несколько решений, вы можете распечатать любое из них. Если решений нет, выведите "НЕТ РЕШЕНИЯ".
Однако я получаю ошибку индекса за пределами границ. Какая часть моего кода неверна и как я могу устранить ошибку? Ошибка возникает в строке 19