La rubrica telefonica in JAVA

La rubrica telefonica in JAVA
  • Vogliamo gestire in Java una rubrica di recapiti telefonici.
  • Vogliamo registrare nome, cognome e numero telefonico
  • Abbiamo bisogno di un file per registrare I nominativi
  • Progettare una classe per la gestione della rubrica. In particolare attraverso il programma dovra essere possibile:


    – Creare una rubrica
    – Inserire dati anagrafici con I relativi numeri telefonici 

    – Cercare un numero di telefono dato un nominativo
LA CLASSE PERSONA

class persona {
protected String nome; 
protected String cognome; 
protected String num_tel;
public persona(String n, String c, String t) { nome = n;
cognome = c; num_tel = t; }
public String get_nome() { return nome; }
public String get_cognome() { return cognome; }
public String get_num_tel() { return num_tel; }
public boolean equals(Object obj) {
return (obj instanceof persona)
&& ((persona)obj).nome.equals(nome)
&& ((persona)obj).cognome.equals(cognome);

}
public String toString() {
return (nome + "\t" + cognome + "\t" + num_tel); }
}
i

LA CLASSE RUBRICA

import java.io.BufferedReader; 
import java.io.FileNotFoundException; 
import java.io.FileOutputStream; 
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Vector;
public class rubrica {
private Vector<persona> Persone;
private String nome_rubrica;
public static void main(String args[]) {
rubrica r = new rubrica("file_rubrica.txt");
r.aggiungiContatto(
new persona("Simone","Fratini","123-456789")); 
r.aggiungiContatto(new persona("Pinco","Pallino","345-34343449")); 
r.printNumber("Pinco", "Pallino");
r.printNumber("Pink", "Pallino");

}
public rubrica (String nome_file) {
Persone = new Vector<persona>(); nome_rubrica = nome_file;
//Leggiamo la rubrica dal file FileReader fin = null;
try {
fin = new FileReader(nome_file);
BufferedReader inFile =
new BufferedReader(fin); 
String record = inFile.readLine();
while(record != null)
{


//estraiamo la sottostringa relativa al nome
String nome = record.substring(0,record.indexOf('\t')); 

//estraiamo la sottostringa relativa al cognome
String r = record.substring(record.indexOf('\t')+1,record.length()); 

String cognome = r.substring(0,r.indexOf('\t'));
//estraiamo la sottostringa relativa al numero di telefono
String num_tel = r.substring(r.indexOf('\t')+1,r.length());
persona p =
new persona(nome,cognome,num_tel);

System.out.println("Letto " + p); 
Persone.add(p);
record = inFile.readLine();
}
fin.close();
} catch (FileNotFoundException e) {
//Il file non esiste, la rubrica e' vuota
System.out.println("La rubrica non esiste"); } 
catch (IOException e2)
}
{
}
//C'e' stato un problema e2.printStackTrace(); 
System.exit(1);
public boolean aggiungiContatto(persona p) {
if (Persone.contains(p)) {
System.out.println(p + " gia presente nella rubrica");
return false; }
Persone.addElement(p);
salvaRubrica();
System.
out.println("Aggiunto " + p + " alla rubrica"); 
return true;
}

public void printNumber(String nome, String cognome) {
persona p1 = new persona(nome,cognome,"");
if (Persone.contains(p1)) System.out.println("Il numero di " + p1 + " e\' " +
Persone.elementAt(Persone.indexOf(p1)).get_num_tel()); 
else System.out.println(p1 + " non presente nella rubrica ");
}

fonte: http://pst.istc.cnr.it/~simone/corsoPsi/Esercitazione6.pdf

Commenti

Post popolari in questo blog

Simulazioni di reti (con Cisco Packet Tracer)

Esercizi sulla rappresentazione della virgola mobile IEEE 754 (Floating Point)