YSN
22-01-2010, 10:35
Salve ci ho questo esercizio da svolgere:
È necessario scrivere un’applicazione Java che consenta di effettuare la gestione dei dati relativi agli iscritti di
una scuola militare. Ciascun iscritto, rappresentato da una matricola (di 5 cifre, es. ‘23678’), nome e cognome,
può frequentare i corsi annuali della scuola. Ciascun corso è caratterizzato da un codice identificativo unico, la
denominazione, la data di inizio e di fine, e prevede una esercitazione pratica. L’esercitazione può svolgersi in
un campo militare, che è a sua volta caratterizzato da un nome e un indirizzo (es. ‘Campo Seagate’, ‘Via del
Tronto, 23 - Bari’), e da una serie di attrezzature che servono per lo svolgimento dell’esercitazione stessa (es.
‘Paracadute’, ‘Tuta mimetica’, ‘Elicottero’ etc.).
1--Utente inserisce iscritti ai corsi da input
2--Utente visualizza esercitazioni per iscritto
3--Utente restituisce l’iscritto che ha partecipato al numero più alto di esercitazioni con il paracadute;
4--Utente cerca per ogni attrezzatura usata nelle esercitazioni gli iscritti che l’hanno usata
io ho proceduto in questo modo:
1--ho dichiarato una classe di nome "Iscritto".
2--ho dichiarato un'altra classe di nome "Corso", nella quale ho dichiarato le variabili : (codiceCorso, nomeCorso, dataInizio, dataFine, nomeCampo, indirizzo, attrezzature e una collezione di Iscritto "ArrayList<Iscritto>")
3--ho dichiarato una classe di nome Scuola, nella quale ho messo i vari metodi che implamentano i casi d'uso.
il primo metodo che mi permette l'inserimento degli iscritti, i corsi e le esercitazioni. e FUNZIONA
ho implementato un secondo metodo che mi permette di stampare tutti gli iscritti coi relativi corsi e FUNZIONA
il problema inzia quando devo implamentare il metodi che mi permette di visualizzare l'esercitazione per iscritto.
public void stampaEserc(String matricola){
if(lista.size() == 0){
System.out.println("Lista vuota");
} else {
for(int i = 0; i < lista.size(); i++){
if(lista.get(i).getIscritto().get(i).getMatr().equals(matricola)){
System.out.println("Nome campo eserc. : " + lista.get(i).getNomeCampo() + "\n" +
"Indirizzo campo : " + lista.get(i).getIndir() + "\n" +
"Attrezzature util. : " + lista.get(i).getAttrezz() + "\n");
}
}
}
}
praticamente il metodo deve cercare di la matricola e se la trova deve stampare a video le esercitazioni a cui ha partecipato.
Quando al metodo passo la matricola mi stampa solo la prima esercitazione e poi solleva un'eccezione di tipo IndexOutOfBoundsException.
non so il perchè?
help me please, sono disperato...
se volete che vi mostro tutto il codice non è un problema
È necessario scrivere un’applicazione Java che consenta di effettuare la gestione dei dati relativi agli iscritti di
una scuola militare. Ciascun iscritto, rappresentato da una matricola (di 5 cifre, es. ‘23678’), nome e cognome,
può frequentare i corsi annuali della scuola. Ciascun corso è caratterizzato da un codice identificativo unico, la
denominazione, la data di inizio e di fine, e prevede una esercitazione pratica. L’esercitazione può svolgersi in
un campo militare, che è a sua volta caratterizzato da un nome e un indirizzo (es. ‘Campo Seagate’, ‘Via del
Tronto, 23 - Bari’), e da una serie di attrezzature che servono per lo svolgimento dell’esercitazione stessa (es.
‘Paracadute’, ‘Tuta mimetica’, ‘Elicottero’ etc.).
1--Utente inserisce iscritti ai corsi da input
2--Utente visualizza esercitazioni per iscritto
3--Utente restituisce l’iscritto che ha partecipato al numero più alto di esercitazioni con il paracadute;
4--Utente cerca per ogni attrezzatura usata nelle esercitazioni gli iscritti che l’hanno usata
io ho proceduto in questo modo:
1--ho dichiarato una classe di nome "Iscritto".
2--ho dichiarato un'altra classe di nome "Corso", nella quale ho dichiarato le variabili : (codiceCorso, nomeCorso, dataInizio, dataFine, nomeCampo, indirizzo, attrezzature e una collezione di Iscritto "ArrayList<Iscritto>")
3--ho dichiarato una classe di nome Scuola, nella quale ho messo i vari metodi che implamentano i casi d'uso.
il primo metodo che mi permette l'inserimento degli iscritti, i corsi e le esercitazioni. e FUNZIONA
ho implementato un secondo metodo che mi permette di stampare tutti gli iscritti coi relativi corsi e FUNZIONA
il problema inzia quando devo implamentare il metodi che mi permette di visualizzare l'esercitazione per iscritto.
public void stampaEserc(String matricola){
if(lista.size() == 0){
System.out.println("Lista vuota");
} else {
for(int i = 0; i < lista.size(); i++){
if(lista.get(i).getIscritto().get(i).getMatr().equals(matricola)){
System.out.println("Nome campo eserc. : " + lista.get(i).getNomeCampo() + "\n" +
"Indirizzo campo : " + lista.get(i).getIndir() + "\n" +
"Attrezzature util. : " + lista.get(i).getAttrezz() + "\n");
}
}
}
}
praticamente il metodo deve cercare di la matricola e se la trova deve stampare a video le esercitazioni a cui ha partecipato.
Quando al metodo passo la matricola mi stampa solo la prima esercitazione e poi solleva un'eccezione di tipo IndexOutOfBoundsException.
non so il perchè?
help me please, sono disperato...
se volete che vi mostro tutto il codice non è un problema