Devo scrivere un progetto per la gestione degli esami degli studenti di un corso di laurea.
In parole povere ho creato una classe Studente contenente i dati anagrafici, una classe Elenco (extends ArrayList) in cui, appunto, inserisco tutti gli studenti.
Ho qualche problema con i metodi set e get dell'ultima classe descritta cioè: quando inserisco nella maschera di input i dati degli studenti nei vari textField e clicco il button "Aggiungi", in console ricevo l'errore:
- Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
at studenti.ElencoStudenti.getMatricola(ElencoStudent i.java:41)"
Allego l'immagine della maschera e inserisco il frammento di codice del bottone "Aggiungi" e il codice relativo alla classe Elenco
codice:private void bottoneAggiungiActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: e.addStudente(matricola.getText(), cognome.getText(), nome.getText(), appello.getSelectedItem(), voto.getSelectedItem()); if (d.exists() != true) { d.newDoc(); try { d.scrivi(e, i); } catch (IOException ex) { Logger.getLogger(mainFrame.class.getName()).log(Level.SEVERE, null, ex); } } else { try { d.scrivi(e, i); } catch (IOException ex) { Logger.getLogger(mainFrame.class.getName()).log(Level.SEVERE, null, ex); } } i++; matricola.setText(""); cognome.setText(""); nome.setText(""); appello.setSelectedIndex(0); voto.setSelectedIndex(0); }
Qualcuno potrebbe indirizzarmi verso la giusta via?codice:public class ElencoStudenti extends ArrayList { public void addStudente(String matricola, String cognome, String nome, Object appello, Object voto) { Studente st = new Studente(matricola, cognome, nome, appello, voto); this.add(st); } public void setMatricola(int i, String matricola) { this.set(i, matricola); } public void setCognome(int i, String cognome) { this.set(i, cognome); } public void setNome(int i, String nome) { this.set(i, nome); } public void setVoto(int i, Object voto) { this.set(i, voto); } public void setAppello(int i, Object appello) { this.set(i, appello); } public String getMatricola(int i) { return this.getMatricola(i); } public String getCognome(int i) { return this.getCognome(i); } public String getNome(int i) { return this.getNome(i); } public Object getVoto(int i) { return this.getVoto(i); } public Object getAppello(int i) { return this.getAppello(i); } }
PS. spero di non aver sbagliato nulla nella creazione di tale topic (è il mio primo messaggio non mi mangiate!)

Rispondi quotando

