System.out.print("Enter an integer: ");
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int lArray = x - 2;
int[] newArray = new int[lArray];
System.out.println("Let's display all possible integers...");
for (int i = 0; i <= newArray.length; i++) {
newArray[i] = i + 2;
System.out.print(newArray[i] + " ");
}
Ho appena avviato Java di recente, ma sono sicuro che se avessi programmato un codice simile in un'altra lingua, avrei affrontato lo stesso problema. Questo è un estratto da un'applicazione in cui vengono elencati tutti i numeri primi fino all'input dell'utente.Java: l'indice di array fuori dai limiti Eccezione
Il motivo per cui x-2 viene utilizzato come definizione di lArray è perché la lunghezza dell'array sarà costituita da tutti gli interi da 2 fino al numero {2, 3, 4, 5 ... x}.
ho notato che per la linea
for (int i = 0; i <= newArray.length; i++) {
se cambio i <= newArray
-, il codice funziona senza errori. Tuttavia, l'input dell'utente, x, è escluso, il che è un problema se x è primo.
+1 per tenere conto di entrambi i problemi –