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("]",""));
}
}
O meu problema é: Entrada
A única linha de entrada contém um inteiro n.
Saída
Imprimir uma bela permutação de inteiros 1,2,...,n. Se existem várias soluções, você pode imprimir qualquer um deles. Se não há soluções de impressão "SEM SOLUÇÃO".
No entanto, recebo o índice fora dos limites de erro. Qual parte do meu código está errado e como posso resolver o erro? O erro ocorre na linha 19