Salve a tutti,
sto realizzando un programma che crea archivi di dizionari, ma ho un problema con l'inserimento di nuove voci nel dizionario, poiché al momento in cui provo ad inserire nuove voci nel dizionario selezionato dall'utente(la selezione va a buon fine), il programma mi restituisce "null".
Ho provato diverse strade ma non sono riuscito a capire dove sta il problema
.
Potete aiutarmi? Vi posto il codice dei metodi(il metodo statico per l'inserimento sta nella classe Dizionario)
Grazie
Archivio -ciclo principale
codice:
Archivio listaDizionari=new Archivio();
Dizionario nuovoDizionario=new Dizionario();
char scelta;
// ciclo principale
do{
scelta=menuPrincipale(); // carica il menu principale
switch(scelta){
case 'V':
case'v': listaDizionari.visualizzaDizionario(listaDizionari);break; // stampa la collezione dei dizionari
case 'S':
case's': nuovoDizionario = selezioneDizionario(listaDizionari);
if (nuovoDizionario!=null)
nuovoDizionario.operazioniDizionario();
break; // seleziona il dizionario
case 'I':
case'i': inserimentoDizionario(listaDizionari);break;// inserisce un nuovo dizionario nella collezione
case 'C':
case'c': listaDizionari.rimozioneDizionario(listaDizionari);break;// cancella un dizionario dalla collezione
case 'Z':
case'z':;
}
}while(scelta!='e' && scelta!='E');
System.out.println("\nBye!");
Dizionario-metodo per le operazioni su dizionario e metodo statico per l'inserimento
codice:
public static Vector<Lemma> operazioniDizionario(){
Dizionario nuovoDizionario=new Dizionario();
Vector<Lemma>listaDizionario=new Vector<Lemma>();
listaDizionario=nuovoDizionario.listaLemmi;
char scelta;
// ciclo principale
do{
scelta=menuDizionario();
switch(scelta){
case 'A':
case'a':lemmaIns(listaDizionario) ;break;
case 'N':
case'n':;break;
case 'D':
case'd':;break;
case 'S':
case's':;break;
case 'C':
case'c':;break;
case 'E':
case'e':;break;
}
}while(scelta!='e' && scelta!='E');
System.out.println("\nBye!");
return listaDizionario;
}
codice:
public static void lemmaIns(Vector<Lemma>listaDizionario){
Lemma nuovoLemma=Lemma.leggiLemma();
inserisciOrdinato(listaDizionario, nuovoLemma);
System.out.println("Hai inserito il lemma"+" "+nuovoLemma.getTermine()+ " "+ "procedi!");
}