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("]",""));
}
}
Mon problème est le suivant: Entrée
La seule entrée de la ligne contient un entier n.
Sortie
Imprimer une belle permutation des entiers 1,2,...,n. Si il y a plusieurs solutions, vous pouvez imprimer n'importe quel d'entre eux. Si il n'y a pas de solutions, impression de "PAS de SOLUTION".
Cependant, j'ai l'index out of bounds erreur. La partie de mon code qui est mal et comment puis-je résoudre l'erreur? D'erreur a lieu à la ligne 19