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("]",""));
}
}
Il mio problema è: Ingresso
L'unica linea di input contiene un numero intero n.
Uscita
Stampare una bella permutazione degli interi 1,2,...,n. Se ci sono diverse soluzioni, si può stampare qualsiasi di loro. Se non ci sono soluzioni, di stampa "NESSUNA SOLUZIONE".
Tuttavia, ho l'index out of bounds errore. Quale parte del mio codice è sbagliato e come posso risolvere l'errore? Errore avviene alla riga 19