PDA

View Full Version : [JAVA] aiuto risoluzione programma


runner_corsa
04-12-2007, 11:09
qualcuno riesce ad aiutarmi nel completare questa classe?? mi bastano anche dei consigli su cosa/come usare...

Completare il file seguente, in base ai commenti presenti:

// classe per contenere un archivio di studenti

public class aaa123 { // sostituire con il nome opportuno

// costruisce un esemplare vuoto del contenitore
public aaa123() {
...
}

// inserisce nell'archivio lo studente identificato dalla coppia di dati
// nome e matricola; precondizione: non esiste uno studente in archivio
// con lo stesso numero di matricola
public void aggiungi(String nome, int matricola) {
...
}

// restituisce un array di stringhe, una stringa per ciascuno studente,
// nel formato matricola:nome
// gli studenti sono ordinati nell'array secondo il numero di matricola
// crescente
public String[] matricole() {
...
}

// restituisce un array di stringhe, una stringa per ciascuno studente,
// nel formato matricola:nome
// gli studenti sono ordinati nell'array con i nomi in ordine lessicografico
// crescente
public String[] nomi() {
...
}

// dopo aver creato un esemplare della classe da usare come archivio,
// legge dall'ingresso standard i dati degli studenti, inserendoli nell'archivio;
// i dati si presentano nello stesso formato descritto per i metodi nomi e
// matricole, una riga per ogni studente;
// quando viene chiuso l'ingresso standard, scrive due volte sull'uscita
// standard l'elenco completo degli studenti presenti in archivio, prima in
// ordine alfabetico, poi in ordine di matricola, uno studente per riga,
// separando i due elenchi con una riga vuota
public static void main(String[] args) {
... // questo codice non può accedere alle variabili di esemplare della classe
// anche se sintatticamente sarebbe ammesso
}
}
Si può scrivere codice SOLTANTO dove sono presenti i tre puntini di sospensione
e non si possono definire altre classi, né interfacce. Unica eccezione: si possono
definire (ovviamente...) variabili private di esemplare.


io ho fatto questo

public class aaa123
{
private static int count=0;
private String name;
private int matricola;

public aaa123()
{

}

public void aggiungi(String nome, int matr)
{

matricola=matr;
name=nome;
count++;
}

public String[] matricole()
{
int c=count;
String[] s= new String[count];
for(int z=0;z<c;z++)
s[z]=matricola+":"+name;

return s;
}

secondo voi che variabili esemplare dovrei usare?

banryu79
04-12-2007, 12:49
Ciao,
io prima di tutto comincerei col scegliere quale tra le classi messe a disposizione dalla Collection utilizzare per implementare il "contenitore" dei tuoi dati (idMatricola/nomeMatricola - corrispondenti alla tua coppia int matricola - String nome)

prova a consultare i javadocs per questa classe --> java.util.HashMap (http://java.sun.com/j2se/1.5.0/docs/api/java/util/HashMap.html) e --> java.util.Arrays (http://java.sun.com/j2se/1.5.0/docs/api/java/util/Arrays.html)...