From 74b404f03f390a5d30e5d410c7f7bd6525deef66 Mon Sep 17 00:00:00 2001 From: orange Date: Sun, 8 Jan 2017 14:59:54 +0100 Subject: [PATCH] add Anagrafe --- src/Nomi/Anagrafe.java | 48 ++++++++++++++++++++++++++++ src/Nomi/Persona.java | 71 ++++++++++++++++++++++++++++++++++++++++++ src/Nomi/Test.java | 13 ++++++++ src/Nomi/persone.dat | 15 +++++++++ src/mimmo.java | 19 +++++++++++ 5 files changed, 166 insertions(+) create mode 100644 src/Nomi/Anagrafe.java create mode 100644 src/Nomi/Persona.java create mode 100644 src/Nomi/Test.java create mode 100644 src/Nomi/persone.dat create mode 100644 src/mimmo.java diff --git a/src/Nomi/Anagrafe.java b/src/Nomi/Anagrafe.java new file mode 100644 index 0000000..8f80bc9 --- /dev/null +++ b/src/Nomi/Anagrafe.java @@ -0,0 +1,48 @@ +import java.util.Scanner; +import java.util.ArrayList; +import java.io.PrintStream; + +public class Anagrafe{ + + public Anagrafe(Scanner sc)throws Exception{ + registro = new ArrayList(); + Persona p = Persona.read(sc); + while(p!=null){ + registro.add(p); + p=Persona.read(sc); + } + } + + private Anagrafe(ArrayList registro){ + this.registro=registro; + } + + public void print(PrintStream ps){ + for(Persona p: registro){ + p.print(ps); + } + } + + public Anagrafe filtroNome(String nome){ + ArrayList ar = new ArrayList(); + for(Persona p: registro){ + if(p.getNome().equals(nome)) + ar.add(p); + } + + return new Anagrafe(ar); + } + + public Anagrafe filtroCognome(String cognome){ + ArrayList ar = new ArrayList(); + for(Persona p: registro){ + if(p.getCognome(). equals(cognome)) + ar.add(p); + } + return new Anagrafe(ar); + + } + + private ArrayList registro; + +} \ No newline at end of file diff --git a/src/Nomi/Persona.java b/src/Nomi/Persona.java new file mode 100644 index 0000000..41af711 --- /dev/null +++ b/src/Nomi/Persona.java @@ -0,0 +1,71 @@ +import java.util.*; +import java.io.PrintStream; +import java.text.SimpleDateFormat; + +public class Persona{ + private String nome; + private String cognome; + private Date dataDiNascita; + + public Persona(String nome, String cognome, Date dataDiNascita){ + this.nome= nome; + this.cognome = cognome; + this.dataDiNascita = dataDiNascita; + } + + public String getNome(){ + return nome; + + } + + public String getCognome(){ + return cognome; + + } + + public Date getDataDiNascita(){ + return dataDiNascita; + } + + public void setNome(String nome){ + this.nome = nome; + } + + public void setDataDiNascita(Date dataDiNascita){ + this.dataDiNascita = dataDiNascita; + } + + public void setCognome (String cognome){ + this.cognome = cognome; + } + + public String toString(){ + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + return nome+" "+cognome+" "+sdf.format(dataDiNascita); + } + + public void print(PrintStream ps){ + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + ps.println(nome); + ps.println(cognome); + ps.println(sdf.format(dataDiNascita)); + + } + + public static Persona read(Scanner sc) throws Exception{ + String nome, cognome; + Date dataDiNascita; + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + + if(!sc.hasNextLine()) return null; + nome=sc.nextLine(); + if(!sc.hasNextLine()) + return null; + cognome=sc.nextLine(); + if(!sc.hasNextLine()) return null; + dataDiNascita = sdf.parse(sc.nextLine()); + + return new Persona(nome, cognome, dataDiNascita); + } + +} diff --git a/src/Nomi/Test.java b/src/Nomi/Test.java new file mode 100644 index 0000000..7bc84e9 --- /dev/null +++ b/src/Nomi/Test.java @@ -0,0 +1,13 @@ +import java.util.Scanner; +import java.io.File; + +public class Test{ + public static void main(String [] args)throws Exception{ + File fl = new File("persone.dat"); + Scanner sc = new Scanner(fl); + Anagrafe an=new Anagrafe(sc); + an.print(System.out); + System.out.println("*******"); + an.filtroCognome("due").filtroNome("noemi").print(System.out); + } +} \ No newline at end of file diff --git a/src/Nomi/persone.dat b/src/Nomi/persone.dat new file mode 100644 index 0000000..490bf78 --- /dev/null +++ b/src/Nomi/persone.dat @@ -0,0 +1,15 @@ +pappa +papsp +12/12/1999 +dffdfd +dhdhdh +14/08/1990 +noemi +dhhf +13/05/1200 +noemi +due +13/07/1300 +jfjfjf +due +13/01/1400 \ No newline at end of file diff --git a/src/mimmo.java b/src/mimmo.java new file mode 100644 index 0000000..23641fc --- /dev/null +++ b/src/mimmo.java @@ -0,0 +1,19 @@ +import java.io.PrintStream; +import java.util.Scanner; + +public class mimmo { + public static void main(String [] args){ + PrintStream ps =System.out; + while(true){ + ps.println("Come ti chiami?"); + Scanner sc = new Scanner(System.in); + String name=sc.next(); + if(name.equalsIgnoreCase("erica")) + ps.println("Erica sei scema!!!"); + else if(name.equalsIgnoreCase("marco")) + ps.println("Marco sei un figlio di puttana"); + else + ps.println("Ciao, "+name); + } + } +} \ No newline at end of file