Ho il seguente esercizio:
una rubrica contiene informazioni (nome, indirizzo, numero telefonico) su un certo numero di persone (per esempio 5), prestabilito (le informazioni sono preintrodotte nel metodo main()). L’utente dovrà fornire all’applicazione un nome da riga di comando e l’applicazione dovrà restituire le informazioni relative alla persona. Se il nome non è fornito, o se il nome immesso non corrisponde al nome di una persona preintrodotta dall’applicazione, deve essere restituito un messaggio significativo.
Il lettore non ha altri vincoli.
per svolgerlo ho scritto queste due classi:
-Rubrica:
public class Rubrica {
// dichiarazione delle variabili d'istanza della classe.
private String nome;
private String cognome;
private String numeroDiTelefono;
// dichiarazione dei metodi della classe.
public void setNome(String nome){
this.nome = nome; // il this e' obbligatorio in questo caso
}
public void setCognome(String cognome){
this.cognome = cognome;
}
public void setTelefono(String numeroDiTelefono){
this.numeroDiTelefono = numeroDiTelefono;
}
public String getNome(){
return this.nome; // il this e' facoltativo
}
public String getCognome(){
return this.cognome; // il this e' facoltativo
}
public String getTelefono(){
return this.numeroDiTelefono;
}
public Rubrica(){
this.nome = "";
this.cognome = "";
this.numeroDiTelefono = "";
}
public Rubrica(String nome, String cognome, String numero){
setNome(nome); // riutilizzo
setCognome(cognome); // riutilizzo
setTelefono(numero); // riutilizzo
}
public void setAll(String nome, String cognome, String numeroDiTelefono){
setNome(nome);
setCognome(cognome);
setTelefono(numeroDiTelefono);
}
public String toString(){
return "Nome: " + nome + "\ncongome: " + cognome +"\nNumero di telefono: "+ numeroDiTelefono;
}
}
-TestRubrica:
public class TestRubrica {
/**
* @param args
*/
public static void main(String[] args) {
Rubrica contatti[] = new Rubrica[5];
contatti[0].setAll("Marco", "Franzin", "1234567");
contatti[1].setAll("Luca", "Naccari", "7654321");
contatti[2].setAll("Andrea", "Lettieri", "6789055432");
contatti[3].setAll("Sever", "Pop", "1238904567");
contatti[4].setAll("Giorgio", "Lucciarello", "1290347856");
if (args[0].isEmpty()){
System.out.println("non e' stato passato alcun nome");
}
else{
for (int i = 0; i < 5; i++){
if (contatti[i].getNome() == args[0]){
System.out.println(contatti[i].toString());
}
else{
i++;
continue;
}
}
}
}
}
essendo ancora un novellino nella programmazione in java sono sicuro di aver sbagliato una cosa banale...
l'errore che mi da durante l'esecuzione è il seguente:
Exception in thread "main" java.lang.NullPointerException
at TestRubrica.main(TestRubrica.java:8)
non sono riuscito nemmeno a capirlo quindi non so guardare..
potete aiutarmi?
grazie a tutti in anticipo.