Buongiorno a tutti, mi chiamo Massimo e sono un neofita autodidatta.
Spero di non creare troppi problemi ai gestori del forum con questo mio post perché guardando nelle domande più vecchie, non sono riuscito a trovare una risposta che risolvesse il mio problema(oppure non la ho capita bene io).
Il mio problema, è che ho fatto un programmino base molto elementare per provare a gestire un menù di scelte che chiede all'utente di agire in base ad una decisione se inserire, visualizzare o eliminare un partecipante ad un gruppo o ad un'altro gruppo.
Per fare questo io ho creato un'Array di tre posizioni e per caricare mi sembra funzionare, ma quando voglio stampare i partecipanti, mi da l'errore
ArrayIndexOutOfBound.
Gentilmente potete dirmi su quale riga del codice sto sbagliando ed eventualmente anche il perché(nella risposta ricordate che state parlando con un'esordiente totale e che è la prima volta che scrivo in un forum) vi chiederei di essere il più chiari possibile.
Nell'allegare il mio programmino ringrazio tutti anticipatamente e vi saluto.
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String num;
System.out.println("Scegli cosa vuoi fare : \n" + "1 Carica utente \n" + "2 Visualizza lista maggiorenni \n"
+ "3 Visualizza lista minorenni \n" + "4 Elimina utente maggiorenne\n" + "5 Elimina utente minorenne\n"
+ "6 Esci dal programma\n");
System.out.print("inserisci un numero : ");
do {
num = in.nextLine();
switch (num) {
case "1":
CaricaMenu cm = new CaricaMenu();
// System.out.println(cm);
System.out.println("Carica utente \n");
break;
case "2":
System.out.println("Visualizza lista maggiorenni \n");
break;
case "3":
System.out.println(" Visualizza lista minorenni \n");
break;
case "4":
System.out.println("Elimina utente maggiorenne\n");
break;
case "5":
System.out.println(" Elimina utente minorenne\n");
break;
case "6":
System.out.println("Esci dal programma\n");
break;
default:
System.out.println("hai fatto una scelta non contemplata");
}
} while (num != "6");
in.close();
}
}
import java.util.Scanner;
public class CaricaMenu {
Scanner scan = new Scanner(System.in);
String mag[] = new String[3];
public CaricaMenu() {
for (int i = 0; i <= mag.length; i++) {
mag = scan.nextLine();
System.out.print("Inserisci L'utente : " + (i + 1 + "\n"));
}
for (int k = 0; k <= mag.length; k++) {
System.out.print(mag[k] + " ");
}
}
}
-------------console----------------------------
1 Carica utente
2 Visualizza lista maggiorenni
3 Visualizza lista minorenni
4 Elimina utente maggiorenne
5 Elimina utente minorenne
6 Esci dal programma
inserisci un numero : 1
Inserisci L'utente : 1
lll
Inserisci L'utente : 2
mmm
Inserisci L'utente : 3
nnn
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at CaricaMenu.<init>(CaricaMenu.java:11)
at Menu.main(Menu.java:17)