Ciao a tutti! Ho appena pubblicato un topic sulla simulazione di una gara di velocità. Adesso invece sto pubblicando uno sulla simulazione di una segreteria.

Allora, il problema è questo:

Realizzare un software che gestisca le informazioni relative gli alunni di una classe. In particolare andranno gestite, per ciascun alunno, le seguenti informazioni:

cognome,
nome,
codice fiscale,
data di nascita,
residenza.

La struttura dati da utilizzare sarà un array di oggetti.

Il progetto dovra mettere a disposizione dell'utente il seguente menu di scelta:

-*-*- S E G R E T E R I A S T U D E N T I -*-*-

1. Carica studenti dal file
2. Salva studenti nel file
3. Aggiungi uno studente da console
4. Ordina gli alunni caricati
5. Stampa gli alunni a console
6. Modifica la residenza
7. Esci

Scegli l'operazione da fare:

Quello che sono riuscito a fare:
codice:
class Studente {
	private String nome, cognome, data, indirizzo, codiceFiscale;

	String nome[];
	String cognome[];
	String data[];
	String residenza[];
	String codice_Fiscale[];
	public int dim;
	Scanner sc;
	
	public Studente(String nome, String cognome, String data, String residenza, String codiceFiscale) {
		this.nome = nome;
		this.cognome = cognome;
		this.data = data;
		this.residenza = residenza;
		this.codiceFiscale = codiceFiscale;
    }
	public String getNome(){
		return nome;
	}
	public String getCognome(){
		return cognome;
	}
	
	public String getCodiceFiscale() {
		return codiceFiscale;
	}
	
	public String getData() {
		return data;
	}
	
	public String getResidenza() {
		return residenza;
	}
	public void setNome(String nome){
		this.nome = nome;
	}
	public void setCognome(String cognome){
		this.cognome = cognome;
	}
	
	public void setCodiceFiscale(String codiceFiscale) {
		this.codiceFiscale = codiceFiscale;
	}

	public void setData(String data) {
		this.data = data;
	}

	public void setResidenza(String residenza) {
		this.residenza = residenza;
	}
	
	import java.util.Scanner;
	
	Studenti()
	{
	nome = new String[99];
	cognome = new String[99];
	data = new String[99];
	residenza= new String[99];
	codice_fiscale = new String[99];
	dim = 0;
	}
	
	public void Carica(){}
	
	public void Salva(){}
	
	public void aggiungiStud()
	{	
		sc = new Scanner(System.in);
	
		System.out.println("Inserire il nome: ");
		nome[dim] = sc.nextLine();
		System.out.println("Inserire il cognome: ");
		cognome[dim] = sc.nextLine();
		System.out.println("Inserire la data di nascita: ");
		data[dim] = sc.nextLine();
		System.out.println("Inserire la residenza: ");
		residenza[dim] = sc.nextLine();
		System.out.println("Inserire il codice fiscale: ");
		codice_fiscale[dim] = sc.nextLine();
		dim++;
	}
	
	public void ordinaAlunni()
	{
		String tmp;
		for (int i = 0; i<(dim-1); i++)
		{
			for (int j = i+1; j<dim; j++)
			{
				if ( cognome[i].compareToIgnoreCase(cognome[j]) > 0)
				{
					tmp = cognome[i];
					cognome[i] = cognome[j];
					cognome[j] = tmp;
				
					tmp = nome[i];
					nome[i] = nome[j];
					nome[j] = tmp;
				
					tmp = data[i];
					data[i] = data[j];
					data[j] = tmp;
				
					tmp = residenza[i];
					residenza[i] = residenza[j];
					residenza[j] = tmp;
				
					tmp = codice_fiscale[i];
					codice_fiscale[i] = codice_fiscale[j];
					codice_fiscale[j] = tmp;
				}
			}
		}	
	}
	
	public void stampaAlunni()
	{
	
	}
}

class Scuola {
    private String [] nome, cognome,data, residenza, codiceFiscale;

    public Scuola(String [] nome,String [] cognome,String [] data,String [] residenza,String [] codice_Fiscale){
        this.nome = nome;
        this.cognome = cognome;
        this.data = data;
        this.residenza = residenza;
        this.codiceFiscale = codice_Fiscale;

    }

    public Scuola(){
        nome=null;
        cognome = null;
        data = null;
        residenza = null;
        codiceFiscale = null;
        leggiFile("Nomi_maxim.txt");
    }

    public String getStudente(int indice){
        String mionome=nome[indice];
        String miocognome = cognome[indice];
        String miaData = data[indice];
        String mioindirizzo = this.residenza[indice];
        String codice_Fiscale= codiceFiscale[indice];
        return mionome+" "+miocognome+" "+miaData+" "+mioindirizzo+" "+codice_Fiscale;
    }
    public String prendeNomi(){
        String s="";
        for(int cont = 0; cont<nome.length;cont++){
            s += nome[cont];
        }
        return s;
    }

    private void leggiFile(String path) {
        String [] c=null;
        String linea="";
        File f=new File(path);
        Scanner lettore=new Scanner(f);
        int indice=0;
        for(indice = 0;indice<5;indice++){
            linea=lettore.nextLine();
            Scanner leggiLinea=new Scanner(linea);
            leggiLinea.useDelimiter(",");
            switch (indice){
                case 0:
                    nome=riempiDaStringa(leggiLinea,0);
                    break;
                case 1:
                    cognome=riempiDaStringa(leggiLinea,0);
                    break;
                case 2:
                    data=riempiDaStringa(leggiLinea,0);
                    break;
                case 3:
                    residenza=riempiDaStringa(leggiLinea,0);
                    break;
                case 4:
                    codiceFiscale=riempiDaStringa(leggiLinea,0);
            }
        }
    }
    private String[] riempiDaStringa(Scanner leggiLinea, int indice){
        String s[]=new String [100];
        while(leggiLinea.hasNext()){
            s[indice]=leggiLinea.next();
            indice++;
        }
        return s;
    }
	
	
}
Chiedo scusa per tutto 'sto casino!
Sarò grato per chi saprà aiutarmi