From e2dcf5bc8969cc6f5795c05ae6af1160e12f3b11 Mon Sep 17 00:00:00 2001 From: orange Date: Thu, 2 Mar 2017 12:24:49 +0100 Subject: [PATCH] end --- src/Noemi/Gestore.java | 20 +++ src/Noemi/Libro.java | 11 ++ src/Noemi/Opera.java | 5 + src/Temi d'esame/Comune/Cittadini.txt | 25 ++++ src/Temi d'esame/Comune/Cittadino.class | Bin 0 -> 2639 bytes src/Temi d'esame/Comune/Cittadino.java | 84 ++++++++++++ .../Comune/CittadinoNonTrovato.class | Bin 0 -> 226 bytes .../Comune/CittadinoNonTrovato.java | 5 + src/Temi d'esame/Comune/Gestore.class | Bin 0 -> 2887 bytes src/Temi d'esame/Comune/Gestore.java | 106 +++++++++++++++ src/Temi d'esame/Comune/Parentela.class | Bin 0 -> 643 bytes src/Temi d'esame/Comune/Parentela.java | 18 +++ src/Temi d'esame/Comune/RelFam.txt | 9 ++ src/Temi d'esame/Comune/Relazione.class | Bin 0 -> 907 bytes src/Temi d'esame/Comune/Relazione.java | 41 ++++++ src/Temi d'esame/Comune/Test.class | Bin 0 -> 804 bytes src/Temi d'esame/Comune/Test.java | 18 +++ src/Temi d'esame/Comune1/Cittadino.java | 53 ++++++++ src/Temi d'esame/Comune1/Famiglia.java | 8 ++ src/Temi d'esame/Comune1/Gestore.java | 29 ++++ src/Temi d'esame/Comune1/Parentela.java | 29 ++++ src/Temi d'esame/Prova 12-01/Giacenza.class | Bin 0 -> 1970 bytes src/Temi d'esame/Prova 12-01/Giacenza.java | 93 +++++++++++++ src/Temi d'esame/Prova 12-01/Magazzino.class | Bin 0 -> 3083 bytes src/Temi d'esame/Prova 12-01/Magazzino.java | 126 ++++++++++++++++++ .../Prova 12-01/MagazzinoNonTrovato.class | Bin 0 -> 245 bytes .../Prova 12-01/MagazzinoNonTrovato.java | 5 + src/Temi d'esame/Prova 12-01/Prodotto.class | Bin 0 -> 2589 bytes src/Temi d'esame/Prova 12-01/Prodotto.java | 90 +++++++++++++ .../Prova 12-01/ProdottoNonTrovato.class | Bin 0 -> 243 bytes .../Prova 12-01/ProdottoNonTrovato.java | 5 + src/Temi d'esame/Prova 12-01/Store.class | Bin 0 -> 3987 bytes src/Temi d'esame/Prova 12-01/Store.java | 116 ++++++++++++++++ src/Temi d'esame/Prova 12-01/Test.class | Bin 0 -> 1048 bytes src/Temi d'esame/Prova 12-01/Test.java | 20 +++ src/Temi d'esame/Prova 12-01/giacenze.dat | 28 ++++ src/Temi d'esame/Prova 12-01/magazzini.dat | 18 +++ src/Temi d'esame/Prova 12-01/prodotti.dat | 16 +++ 38 files changed, 978 insertions(+) create mode 100644 src/Noemi/Gestore.java create mode 100644 src/Noemi/Libro.java create mode 100644 src/Noemi/Opera.java create mode 100644 src/Temi d'esame/Comune/Cittadini.txt create mode 100644 src/Temi d'esame/Comune/Cittadino.class create mode 100644 src/Temi d'esame/Comune/Cittadino.java create mode 100644 src/Temi d'esame/Comune/CittadinoNonTrovato.class create mode 100644 src/Temi d'esame/Comune/CittadinoNonTrovato.java create mode 100644 src/Temi d'esame/Comune/Gestore.class create mode 100644 src/Temi d'esame/Comune/Gestore.java create mode 100644 src/Temi d'esame/Comune/Parentela.class create mode 100644 src/Temi d'esame/Comune/Parentela.java create mode 100644 src/Temi d'esame/Comune/RelFam.txt create mode 100644 src/Temi d'esame/Comune/Relazione.class create mode 100644 src/Temi d'esame/Comune/Relazione.java create mode 100644 src/Temi d'esame/Comune/Test.class create mode 100644 src/Temi d'esame/Comune/Test.java create mode 100644 src/Temi d'esame/Comune1/Cittadino.java create mode 100644 src/Temi d'esame/Comune1/Famiglia.java create mode 100644 src/Temi d'esame/Comune1/Gestore.java create mode 100644 src/Temi d'esame/Comune1/Parentela.java create mode 100644 src/Temi d'esame/Prova 12-01/Giacenza.class create mode 100644 src/Temi d'esame/Prova 12-01/Giacenza.java create mode 100644 src/Temi d'esame/Prova 12-01/Magazzino.class create mode 100644 src/Temi d'esame/Prova 12-01/Magazzino.java create mode 100644 src/Temi d'esame/Prova 12-01/MagazzinoNonTrovato.class create mode 100644 src/Temi d'esame/Prova 12-01/MagazzinoNonTrovato.java create mode 100644 src/Temi d'esame/Prova 12-01/Prodotto.class create mode 100644 src/Temi d'esame/Prova 12-01/Prodotto.java create mode 100644 src/Temi d'esame/Prova 12-01/ProdottoNonTrovato.class create mode 100644 src/Temi d'esame/Prova 12-01/ProdottoNonTrovato.java create mode 100644 src/Temi d'esame/Prova 12-01/Store.class create mode 100644 src/Temi d'esame/Prova 12-01/Store.java create mode 100644 src/Temi d'esame/Prova 12-01/Test.class create mode 100644 src/Temi d'esame/Prova 12-01/Test.java create mode 100644 src/Temi d'esame/Prova 12-01/giacenze.dat create mode 100644 src/Temi d'esame/Prova 12-01/magazzini.dat create mode 100644 src/Temi d'esame/Prova 12-01/prodotti.dat diff --git a/src/Noemi/Gestore.java b/src/Noemi/Gestore.java new file mode 100644 index 0000000..36d33c1 --- /dev/null +++ b/src/Noemi/Gestore.java @@ -0,0 +1,20 @@ +public class Gestore{ + + public Gestore filtroautore(String autore){ + for(Opera o: opere){ + if(o.getAutore().equals(autore)) + ADD + } + } + + public Gestore filtroautore(String autore){ + for(Opera o: opere){ + if(o instanceof Libro) + Libro l=(Libro) o; + if(l.getCasaEd().equals(autore)) + ADD + } + } + + private ArrayList opere; +} \ No newline at end of file diff --git a/src/Noemi/Libro.java b/src/Noemi/Libro.java new file mode 100644 index 0000000..1aa6694 --- /dev/null +++ b/src/Noemi/Libro.java @@ -0,0 +1,11 @@ +public class Libro{ + + public String getAutore(){ + return autore; + } + + private String autore; + private String titolo; + private int anno; + private String casaEd; +} \ No newline at end of file diff --git a/src/Noemi/Opera.java b/src/Noemi/Opera.java new file mode 100644 index 0000000..0d30a74 --- /dev/null +++ b/src/Noemi/Opera.java @@ -0,0 +1,5 @@ +public interface Opera{ + String getTitolo(); + String getAutore(); + int getAnno(); +} \ No newline at end of file diff --git a/src/Temi d'esame/Comune/Cittadini.txt b/src/Temi d'esame/Comune/Cittadini.txt new file mode 100644 index 0000000..325e201 --- /dev/null +++ b/src/Temi d'esame/Comune/Cittadini.txt @@ -0,0 +1,25 @@ +ct01 +Mario +Rossi +10/11/1990 +ct02 +Guido +Bianchi +13/09/1993 +ct03 +Luca +Verdi +14/01/1950 +ct04 +Lucia +Bianchi +17/03/1960 +ct05 +Matilde +Rossi +13/07/1991 +ct06 +Luca +Rossi +09/09/2009 + diff --git a/src/Temi d'esame/Comune/Cittadino.class b/src/Temi d'esame/Comune/Cittadino.class new file mode 100644 index 0000000000000000000000000000000000000000..79f62d3d713e892ae3b0fcb2714164152e71e6f5 GIT binary patch literal 2639 zcma)7TUQfT7~PZGgkeAoAQvl*6a~U1wN=}K#VSaJCea#2u{Vcg#L;9XP9|3D{eHi` z*+1Zm54Nj>)v{JspZh2J)IZ_sD&1#hNVs*a=HcX=?|j$&?eEMV|NQzJfW!D+K|j(B zXh%jYXT)+=EHBD9ry%0pWo4X?;(~$(%qh5tOJbQ9$ICKaYQW2QC5l%SyoM_>GzG0# zkdag9CND!*(1EMM*P@JT3c8UNixI_j;o*ij6vTD05hg6Ll!OUo9k>~Vt)L7?MnytX z&dM7(ecCAJw1O@nmb$Lp(vk(uTuf#i+b|c$C4@|?$h&aP`)|x^j+W8NIm6K;w0IU3 z$0#JHG)Jd?^r}`g77GS%+c(^vux)KAWt1JNG-QoMQ*$ad{r2vpb1ZdMvvt$a3)=Vu z4I;-3({Lsv%nWQ#@&8NeX%5b@ut_V=1a_qiQ_ob23%Y$?TM#gWY+cJsi2Jczt87j) zP2CWn&;*G$%0VpE-(y&<8~FVe7*XT=>g zb*(r)I49$_1m&7mp0rG(vdB=ufx*iZWvz-WI3tj1uEib|%u(?KmQ)O2P(?y4Lt+`m zh=f*`S#BjYCa4%iQbMp@HT6xJ0NY!`l;JFz2q2{DdQa#@8UheB#@1pmKit9vTl>R@tkGbI$K#3JR6nq zzKRcUhc(qR6^V$bAF@-mN`>G_3Tg}$f+-ar;bRFMuJMKeI$1FadEHj=2|kq|#Z`QU z&sCff$$x<_iL#2XL^)sM8x`N;I9ZeP5GRpTd?&oN)V-crxUT1j%kFxXJ~cO~tv5VY zSDSHkTXQViZ6s;YzQZU9x-_!q88$0h7a3T$ z8Qy;twlHp;BAdlT!=-G&oi4-&t;Nk9cCP`ixsI zuU^ZJqZ>79c<$LWsOvb>r|d&19#O(5Ve>QKr!7I{=%3?TcZZxMz!CjsMJtrCpAUXN zKPzDb#7uD)5M$;3bF$oj4ww7SNrHsO-Tfhc1|-2!u7@ePfFOMU2NElg5<|-fB!-s} zOpGiel;{dABb-=8WPSzmGNM0HQNj_fJ&?I72%(Vqjuk0~o?91AC^P=7#JdcaLnYSSsb>6EFRx`a_v70qLzd*~R8{DhX+?kZxd zXq|6ZLEBhp747pw!y{dx73_Jy;1ifZiU|eWl*gDJh*~2*b#3Tms@>?tUZS{<*z`~* zPK#dJ^wX*j863bI4&n;Ye43UPB5O2^$asb)Rx}2zv1}obF}{Pym2TCeP{>_zTE?+8 z;^w>Xu4FvxUb+Pw_b_CNd>|MiocI~R2i$mVh`7QLuFqj7)xcKOLsUJ1lUzmfH+l_k zRXswbNlf{whuP{7P1;t`L6BF_nPDo?kt(__)@jj9Hi7sk1gDi%O5!o|JzU{kfVWdM z8l+ayO=j(-qd*mp#P)F!^=;UP*7rla2v^a=a}|%)b5&fQ6O1V0OyhY!+9k?GzWpN0 zD&pzkU$9@oU37BOE8%x^WQLgiV`R|1wZB9O9!hc09@ znDwJvqmih1)Q^%H@}u-{<3&jiSJ4+cP{qN!2#4<9Tl+J3zZPtdJA0=YOt5a2Oq<~+ UG35qT5%hw_A2N!B7hJ2(); + } + + public static Cittadino read(Scanner sc){ + String codiceFiscale, nome, cnome; + Date dataNascita; + SimpleDateFormat sdf=new SimpleDateFormat("dd/MM/yyyy"); + + if(!sc.hasNextLine()) return null; + codiceFiscale=sc.nextLine(); + + if(!sc.hasNextLine()) return null; + nome=sc.nextLine(); + + if(!sc.hasNextLine()) return null; + cnome=sc.nextLine(); + + if(!sc.hasNextLine()) return null; + try{ + dataNascita=sdf.parse(sc.nextLine()); + } + catch(ParseException e){ + System.err.println("Data non inserita correttamente."); + dataNascita=new Date(0); + } + + return new Cittadino(codiceFiscale, nome, cnome, dataNascita); + } + + public String getNome(){ + return nome; + } + + public String getCodice(){ + return codiceFiscale; + } + + public Date getDataNascita(){ + return dataNascita; + } + + public void addFamigliare(Cittadino c, String parentela){ + Parentela p=new Parentela(c, parentela); + famiglia.add(p); + } + + public String toString(){ + SimpleDateFormat sdf=new SimpleDateFormat("dd/MM/yyyy"); + return codiceFiscale+" "+nome+" "+cnome+" "+sdf.format(dataNascita); + } + + public void printFamigliari(PrintStream ps){ + for(Parentela p: famiglia) + ps.println(p.toString()); + } + + public boolean hasConiuge(){ + for(Parentela p: famiglia) + if(p.getRelazione().equals("coniuge")) + return true; + + return false; + } + + private String codiceFiscale; + private String nome; + private String cnome; + private Date dataNascita; + private ArrayList famiglia; +} \ No newline at end of file diff --git a/src/Temi d'esame/Comune/CittadinoNonTrovato.class b/src/Temi d'esame/Comune/CittadinoNonTrovato.class new file mode 100644 index 0000000000000000000000000000000000000000..2b3367586d29781ea3387022cecd1d428391b91e GIT binary patch literal 226 zcmZuru?_)25Pid)W1T28qSK+EQHth5B?>P3gKdH7^22sl|>9b b!rWjrtTfxUw)So> zFMXhIed1NS+Gy)qZJ&JTTOZq(_NA}=0j_HLota4p5f-eIbI#u9>~DYH-e-P$_S4S* zUcwhaY`~y`eL+-UFo-o660`k59Kf&`4hGSTLt=JV3`c~^(Evt*7)3mQV+xK};RH?w zkO*Q7uT{}~TwHOg8mDna3=;}o7st*95prXk6U*~rxS-&oh@gqZWDrSAiJ7ioT0&LQ zux)M1$QTkl&7QM#2^*I4*)uZa-D39j^MHR3 z@3Z?Qbas@uCz4twqg#E;Y;}%HkcZ4E1_+H989hEXGpSo++GLtLH3?fwUK!P9oi&qD zkRqGRSivQ7BcZ7@%p!7e>!xK*O92bNP*&HhB&vXv zg=e{M6QFGlYcobFZDWh5G z&CHl(UL%hRuB*6#o2~*k=+gzALA1RpQ`u_cU63j+Y;)Wd>x^VOMbEKP929REt6@l-3jdwJAETE*091-`6>@;sr$z ztbv-8ZnKMwq&}q0ni3j1I^AX~EjqGZbSu=X&_d;I@iN{;Fr{YVFY>xVDVOl(_6wEQ zug+=d>=I5BH?p=q!*q3vBzcccS@{==Zs|6)b80rt5?Vr2p*`6&0i(!&VkHm+Z%u9S$>${A;|lrE2Y>RhCYx7%hRwU7g)ND4oVJzUfG#eiK#ClM|{E%%%R%(4XZiS%p=5YIb6%#1$SO>T0l*&@*V2Jt8xgt z*DvJ1y-$2Q*ygwRy{bTz2;->dSOpnDsHj00wfstj(1JSVQ;%*m@I)i_a`zCL_#uoy z!&*K;>v>NbZ))LV(8@+{$CqTJi?^LcAkT|@3StVno&T*0dVq$f@Ik@0JO-eYS?NFv zP@N~Ta-%o|Nx}B20IhsLIFe^(P{BVSD0q%`{eb%WT=84Lv6dQu%EhFVf1# z($xuH^R$m%2cqAjK8J?U%6_R=ZvF-xu^+Ko!aQ0zX_W9Q)(GixXzCKY=l_!X7xI5L z&%+;)?>$0@0!Mz~MJ}mPk_l1~K#a3)(%M7Hwh_X1{_Vg{0_f$q7rPw72=y6i6zpV* zJsp06+l5y=h|?a#_GpZi5bx^FVJ#)?CXRJNWVs-+&=ypzv8ZheX#<1!(N8u8Xd9w+ zkSgw@atEBy3M$40uTIR}UQC@aWgd+cXeqGKTx6pRNd9j@yqkTaL+K%`!(leb5mJAY zp+=l=)u{Ln0cQGyeI${DJ}=}QswI>d^15Zz3mxzFgxJVQsSxWOArOqYt+bH;;}M$A z#2%pKUJ=P!rVbpV4kuWeC#gV!%#JbaxPvBy%BQGP!0Oz&`3d1m*h9XY9>!e{(b1I< z#mW%15>eYc!U9nHd cittadini=new ArrayList(); + Cittadino c, famigliare; + + c=Cittadino.read(scC); + while(c!=null){ + cittadini.add(c); + c=Cittadino.read(scC); + } + + Relazione r=Relazione.read(scR); + while(r!=null){ + try{ + c=searchCittadino(r.getCodiceCapo()); + famigliare=searchCittadino(r.getCodiceFamigliare()); + c.addFamigliare(famigliare, r.getRelazione()); + if(r.getRelazione().equals("Figlio")) //Se sono padre figlio va cambiato il tipo di parentela + famigliare.addFamigliare(c, "Padre"); + else //Se sono cognugi no + famigliare.addFamigliare(c, r.getRelazione()); + } + catch(CittadinoNonTrovato e){ + System.err.println("Cittadino non trovato"); + } + r=Relazione.read(scR); + } + + } + + private Gestore(ArrayList cittadini){ + this.cittadini=cittadini; + } + + public Cittadino searchCittadino(String codice){ + Iterator iter = cittadini.iterator(); + boolean trovato = false; + Cittadino c=null; + + while(!trovato && iter.hasNext()){ + c=iter.next(); + if(c.getCodice().equals(codice)) + trovato=true; + } + + if(trovato) + return c; + throw new CittadinoNonTrovato(); + } + + public void printStatoFamiglia(PrintStream ps, String codice){ + Cittadino c; + try{ + c=searchCittadino(codice); + ps.println(c.toString()); + c.printFamigliari(ps); + } + catch(CittadinoNonTrovato e){ + System.err.println("Cittadino non trovato"); + } + + } + + public void printStatoFamiglia(PrintStream ps){ + for(Cittadino c: cittadini){ + ps.println(c.toString()); + c.printFamigliari(ps); + } + } + + public Gestore filtroNome(String nome){ + ArrayList cittadiniFilter=new ArrayList(); + + for(Cittadino c: cittadini){ + if(c.getNome().equals(nome)) + cittadiniFilter.add(c); + } + + return new Gestore(cittadiniFilter); + } + + public Gestore filtroDataSposati(Date data){ + ArrayList cittadiniFilter=new ArrayList(); + + for(Cittadino c: cittadini){ + if(c.getDataNascita().before(data) && c.hasConiuge()) + cittadiniFilter.add(c); + } + + return new Gestore(cittadiniFilter); + } + + public void print(PrintStream ps){ + for(Cittadino c: cittadini) + ps.println(c.toString()); + } + + private ArrayList cittadini; +} \ No newline at end of file diff --git a/src/Temi d'esame/Comune/Parentela.class b/src/Temi d'esame/Comune/Parentela.class new file mode 100644 index 0000000000000000000000000000000000000000..a31bfdf69437ab26171a959ed77ed293d4e9f30f GIT binary patch literal 643 zcmZWmT}vB56g@Y)$!0gJvGFr))ugQ&*H$0e7qRrAfj)({R1x|(F+&*H?uKRKgTJZ; zjZmRKz#k=^QAvtn;NH0(=ghftZ*Kqo1MmS`0V=5b2=LsR7am>)a8VDiiZy#%FQZ}o znun%`R|0RKGM(gFQ0cTyo~xco(gT5?=~$hcG-0LIIaOzBFIGu^?=a6y(q}{Iqe)Eu zNziEh2b}KQJ{Gv`v`3z5$0Yje@K;x7N2(h$Q_j-|Lcv07dm1bV`#S$IkrEuH!|X(V zF%~`h{Xu)IcCEk=b9fyh#7u};R0YdVWq%%;xTiA@Z$d0!F~kNo1=8TSV=BSi1oo|a zs!wu()3Rgu;}7EaYB11APw=iaEqi*B$CnS#aweG&*en%8iDUZEIWpfEyd1g}=6 jVd&6};Qt;|S^|(vur#JwWn{A!?>udtVQHDg0#@z-l7xV; literal 0 HcmV?d00001 diff --git a/src/Temi d'esame/Comune/Parentela.java b/src/Temi d'esame/Comune/Parentela.java new file mode 100644 index 0000000..12f9936 --- /dev/null +++ b/src/Temi d'esame/Comune/Parentela.java @@ -0,0 +1,18 @@ +public class Parentela{ + + public Parentela(Cittadino c, String relazione){ + this.parente=c; + this.relazione=relazione; + } + + public String toString(){ + return parente.toString()+" "+relazione; + } + + public String getRelazione(){ + return relazione; + } + + private Cittadino parente; + private String relazione; +} \ No newline at end of file diff --git a/src/Temi d'esame/Comune/RelFam.txt b/src/Temi d'esame/Comune/RelFam.txt new file mode 100644 index 0000000..54eb77a --- /dev/null +++ b/src/Temi d'esame/Comune/RelFam.txt @@ -0,0 +1,9 @@ +ct01 +ct05 +Coniuge +ct01 +ct06 +Figlio +ct03 +ct01 +figlio \ No newline at end of file diff --git a/src/Temi d'esame/Comune/Relazione.class b/src/Temi d'esame/Comune/Relazione.class new file mode 100644 index 0000000000000000000000000000000000000000..db91ca2482e5abf28f6ca9f6ab64b84332c3456e GIT binary patch literal 907 zcma)4%Wl&^6g}fOahy0wA88BpO(`T!N;a@St=LrRDh(1rNU)nYqu|zcD&rv3PvI+y zM5qK3AHX*u#2LGUrtN~wy));Yd*v+_$h* zAo9S%wm`uf_I*$7%hRF2T>D6VkgY(5gH|_={BW=JVLJ5qr>^M@hN zxjjGhc*lIQ&nq1*l|84q3??`#^6qGJsAXC%ZnN7G? zXBQ~GlkYp~W2`rp@ZJjK!%G00{Ju8-g$xXBizh=nOES$dXTdR0VVvP@k9Cu|>Rv#& zjWGWcoE{h#*`+&8UKDF z>wJgxrqSHFK>nQaM)K4e<-rGRS}YS;;u9;VVjBx^d8@KoLB{@tl7)pd(!nB2sgG4= nq20P)U})WRgj@nHGv2wCnz>G0C-v^FRP#D@i`093$-wd-uBWZP literal 0 HcmV?d00001 diff --git a/src/Temi d'esame/Comune/Relazione.java b/src/Temi d'esame/Comune/Relazione.java new file mode 100644 index 0000000..6fba227 --- /dev/null +++ b/src/Temi d'esame/Comune/Relazione.java @@ -0,0 +1,41 @@ +import java.util.Scanner; + +public class Relazione{ + + public Relazione(String codiceCapo, String codiceFamigliare, String relazione){ + this.codiceCapo=codiceCapo; + this.codiceFamigliare=codiceFamigliare; + this.relazione=relazione; + } + + public static Relazione read(Scanner sc){ + String codiceCapo, codiceFamigliare, relazione; + + if(!sc.hasNextLine()) return null; + codiceCapo=sc.nextLine(); + + if(!sc.hasNextLine()) return null; + codiceFamigliare=sc.nextLine(); + + if(!sc.hasNextLine()) return null; + relazione=sc.nextLine(); + + return new Relazione(codiceCapo, codiceFamigliare, relazione); + } + + public String getCodiceCapo(){ + return codiceCapo; + } + + public String getCodiceFamigliare(){ + return codiceFamigliare; + } + + public String getRelazione(){ + return relazione; + } + + private String codiceCapo; + private String codiceFamigliare; + private String relazione; +} \ No newline at end of file diff --git a/src/Temi d'esame/Comune/Test.class b/src/Temi d'esame/Comune/Test.class new file mode 100644 index 0000000000000000000000000000000000000000..b43465e485ee615a5e7da42321b33b3d0a3bacbd GIT binary patch literal 804 zcmZuvU2hUW6g|T(3~U!$s$l&7fb^t0pns(!&4P5Q8Y5V=EH0!QiyQ(a@JQWmr=C@>o|4 zfr}Mn7%~yrNUNUL@0PC@=#tEe9&3}gZI%jAzn8t5=o^?JznIkw zbuAnP-Mz6d2U>*zhv(ux9x(9NBq1D1!|~9?BkZ_%j3?Bg(Z;Y6@kH&t?Hoy;po{19 z%#bafKZ(p7pEnRqXMwc!`B=+7m6Kyd+;;Je8DD9hv^a_CjQ>B##9HBq60q$R@Jo`Mqo^EWzsYHFT;^D#AB^LQO`KQB H8^g6fW{s-y literal 0 HcmV?d00001 diff --git a/src/Temi d'esame/Comune/Test.java b/src/Temi d'esame/Comune/Test.java new file mode 100644 index 0000000..7879cfd --- /dev/null +++ b/src/Temi d'esame/Comune/Test.java @@ -0,0 +1,18 @@ +import java.io.File; +import java.io.FileNotFoundException; +import java.util.Scanner; + +public class Test{ + public static void main(String [] args){ + Scanner scC=null, scP=null; + try{ + scC=new Scanner(new File("Cittadini.txt")); + scP=new Scanner(new File("RelFam.txt")); + }catch(FileNotFoundException e){ + System.exit(1); + } + Gestore g=new Gestore(scC, scP); + + g.print(System.out); + } +} \ No newline at end of file diff --git a/src/Temi d'esame/Comune1/Cittadino.java b/src/Temi d'esame/Comune1/Cittadino.java new file mode 100644 index 0000000..184e351 --- /dev/null +++ b/src/Temi d'esame/Comune1/Cittadino.java @@ -0,0 +1,53 @@ +import java.util.ArrayList; +import java.util.Date; +import java.util.Scanner; +import java.text.SimpleDateFormat; +import java.text.ParseException; + +public class Cittadino{ + + public Cittadino(String codiceFiscale, String nome, String cnome, Date dataNascita){ + this.codiceFiscale=codiceFiscale; + this.nome=nome; + this.cnome=cnome; + this.dataNascita=dataNascita; + this.famiglia=null; + } + + public static Cittadino read(Scanner sc){ + String codiceFiscale, nome, cnome; + Date dataNascita; + SimpleDateFormat sdf=new SimpleDateFormat("dd/MM/yyyy"); + + if(!sc.hasNextLine()) return null; + codiceFiscale=sc.nextLine(); + + if(!sc.hasNextLine()) return null; + nome=sc.nextLine(); + + if(!sc.hasNextLine()) return null; + cnome=sc.nextLine(); + + if(!sc.hasNextLine()) return null; + try{ + dataNascita=sdf.parse(sc.nextLine()); + } + catch(ParseException e){ + System.err.println("Data non inserita correttamente."); + dataNascita=new Date(0); + } + + return new Cittadino(codiceFiscale, nome, cnome, dataNascita); + } + + public String toString(){ + SimpleDateFormat sdf=new SimpleDateFormat("dd/MM/yyyy"); + return codiceFiscale+" "+nome+" "+cnome+" "+sdf.format(dataNascita); + } + + private String codiceFiscale; + private String nome; + private String cnome; + private Date dataNascita; + private Famiglia famiglia; +} \ No newline at end of file diff --git a/src/Temi d'esame/Comune1/Famiglia.java b/src/Temi d'esame/Comune1/Famiglia.java new file mode 100644 index 0000000..4253360 --- /dev/null +++ b/src/Temi d'esame/Comune1/Famiglia.java @@ -0,0 +1,8 @@ +import java.util.ArrayList; + +public class Famiglia{ + + private Cittadino capo; + private Cittadino cognuge; + private ArrayList figli; +} \ No newline at end of file diff --git a/src/Temi d'esame/Comune1/Gestore.java b/src/Temi d'esame/Comune1/Gestore.java new file mode 100644 index 0000000..f7b974f --- /dev/null +++ b/src/Temi d'esame/Comune1/Gestore.java @@ -0,0 +1,29 @@ +import java.util.ArrayList; +import java.util.Scanner; + +public class Gestore{ + + public Gestore(Scanner scC, Scanner scP){ + ArrayList cittadini=new ArrayList(); + ArrayList famiglie=new ArrayList(); + + Cittadino famiglare; + Cittadino c=Cittadino.read(scC); + while(c!=null){ + cittadini.add(c); + c=Cittadino.read(scC); + } + + Parentella p = Parentella.read(scP); + while(p!=null){ + try{ + c=searchCapo(p.getCodiceCapo()); + famiglare=searchFamigliare(p.getCodiceFamigliare()); + + } + + } + } + private ArrayList cittadini; + private ArrayList famiglie; +} \ No newline at end of file diff --git a/src/Temi d'esame/Comune1/Parentela.java b/src/Temi d'esame/Comune1/Parentela.java new file mode 100644 index 0000000..d916a2b --- /dev/null +++ b/src/Temi d'esame/Comune1/Parentela.java @@ -0,0 +1,29 @@ +import java.util.Scanner; + +public class Parentela{ + + public Parentela(String codiceCapo, String codiceFamigliare, String relazione){ + this.codiceCapo=codiceCapo; + this.codiceFamigliare=codiceFamigliare; + this.relazione=relazione; + } + + public static void read(Scanner sc){ + String codiceCapo, codiceFamigliare, relazione; + + if(!sc.hasNextLine()) return null; + codiceFiscale=sc.nextLine(); + + if(!sc.hasNextLine()) return null; + nome=sc.nextLine(); + + if(!sc.hasNextLine()) return null; + cnome=sc.nextLine(); + + return new Parentela(codiceCapo, codiceFamigliare, relazione); + } + + private String codiceCapo; + private String codiceFamigliare; + private String relazione; +} \ No newline at end of file diff --git a/src/Temi d'esame/Prova 12-01/Giacenza.class b/src/Temi d'esame/Prova 12-01/Giacenza.class new file mode 100644 index 0000000000000000000000000000000000000000..9a3402cb066b21d512af6a20d7557f73e30cfd55 GIT binary patch literal 1970 zcmZ`(+j1L45Iv*YN~@La*bcFYoj7qqq?Ho|Fko(^yMD$GS2f zD|1_!Pn6lvaR+ymxu;_jTN>``4Ci%xiU-ORG!%7=VNIFsIChjTDYL8Lp+K}!Kd_1d zlZEH<2brr$rpEyI4N~v+-WpD4_*#Q(eZffDFHb?cPZvnBlJ1r-R!QBx zz*xHPRNbFsdZ$4|GrO~6a+1lNt)lLo`HgWcc_45xcv;i4Yq@eoI*#S8W(r%jtXR$q zNt#sIla=p^vf(#QLzxq8aI~JlOpt8Xb0rnw$Srxe>UYMgw*|l%mg`NoVr|;0?Wqp) z4W$$V7x2iyS-fH3oH8?*HSi|R8<@kqhQ|h;;HiPnu&80rz%zW#PIo9&_C*a}82A!b zmB|X68x-J1)2GUeZNx~Bq~-}9Qo&pQX$F$gsQ+6C^m ziI31@h;-(lNs3{4pY?I7U>N*l$D#-bEZV+8A>*BoHTC0#mGE21&9TL|w*W zz&%edh>n`SBlNOM5%Yu7v{!JIc7Z3CSw@IH=9kdBPWPiTeBLaPZ;hl54^qz&dTlgy zc#wL5)R%})BNLR;Uv=cyfvT?%WFi|tdsUxjy9TM#q*kO$xITh9I#~4*K{t>aqUKDZ zgVZ-k{Wg&|eXAPSUv+GddYRC7@a`z;zR|XOy+Y~_In-sm7vO(lL`h`DY(e`OQSp+C zc;VEpcxv|t66>#_?`4Ms!h+f|Sqo$`n^lr(!B9RN_(%(>UZW=cns+GC5+<-qfj%S&e;@(X2C0-d&DR*) gJHdFHaANXI3lnY9?wZ7tEldq|^)d5T{kPrv4-^t`G5`Po literal 0 HcmV?d00001 diff --git a/src/Temi d'esame/Prova 12-01/Giacenza.java b/src/Temi d'esame/Prova 12-01/Giacenza.java new file mode 100644 index 0000000..64de203 --- /dev/null +++ b/src/Temi d'esame/Prova 12-01/Giacenza.java @@ -0,0 +1,93 @@ +import java.util.Scanner; +import java.io.PrintStream; + +public class Giacenza { + + public Giacenza(String codeM, String codeP, int quantità) { + this.codeM = codeM; + this.codeP = codeP; + this.quantità = quantità; + magazino=null; + prodotto=null; + } + + + + + + // GET&&SET + public String getCodeM() { + return codeM; + } + + public void setCodeM(String codeM) { + this.codeM = codeM; + } + + public String getCodeP() { + return codeP; + } + + public void setCodeP(String codeP) { + this.codeP = codeP; + } + + public int getQuantità() { + return quantità; + } + + public void setQuantità(int quantità) { + this.quantità = quantità; + } + + public Magazzino getMagazzino(){ + return magazino; + } + + public void setMagazzino(Magazzino m){ + this.magazino=m; + } + + public Prodotto getProdotto(){ + return prodotto; + } + + public void setProdotto(Prodotto p){ + this.prodotto=p; + } + + + + + // I/O + + public static Giacenza read(Scanner sc){ + String codeM, codeP; + int quantità; + + if(!sc.hasNextLine()) return null; + codeM=sc.nextLine(); + if(!sc.hasNextLine()) return null; + codeP=sc.nextLine(); + if(!sc.hasNextLine()) return null; + quantità=Integer.parseInt(sc.nextLine()); + + return new Giacenza(codeM, codeP, quantità); + } + + public void print(PrintStream ps){ + ps.println(codeM); + ps.println(codeP); + ps.println(quantità); + } + + public String toString(){ + return codeM+" "+codeP+" "+quantità; + } + + private String codeM; + private String codeP; + private int quantità; + private Magazzino magazino; + private Prodotto prodotto; +} diff --git a/src/Temi d'esame/Prova 12-01/Magazzino.class b/src/Temi d'esame/Prova 12-01/Magazzino.class new file mode 100644 index 0000000000000000000000000000000000000000..9e26010d9199c5ab20de28dad623b89989a9e8bc GIT binary patch literal 3083 zcmcImZF3V<6n-{Mc9YGvKwC-!1zO~#OTdeWz zcjza-`4wkO7-hzB#&7-se}R9(Vbtf|Y!b3v#!pTr=iGblx##UU=O(}Z{qrvXPT^}E z2XQNboyZHaB*<++?g(;Mkb4@Ib;O%m_l4xcI35VeM>;;nLqQ&CFm;}+=qR8l&a5O> z@lcSGhQ~UFU~5>@F)aAHj=i`gNI8xtf>Y=yh!xzTwVSM6HORiGAZ&-?8=1)5{lY}c_A#67EQt-20RdsfXY3QD$Fu$&sthMM*^J-a-U zwVidVn6)=NVKZ-+9MjvZQt42r(rorx(~Oz9zzgw8)h)W7XTM&5v8mxoeRbA$Z0~{s zcYJ$J|DR;yj)LfA7E{3vCT!(4pR8EbC3B@rNzb@Aj+ZP?Xt3Oa;}hFMp~gmAV|PgO z!bp-vmfCes@gR+iVAwiJCL?=@G&E*uQ%C+t1#ITNRzEiMwY&6nMDPoe$`~)`GV;8kYnT7QQvm&w4!0wGz*zlgny9tWz&MXQE2f;F*Nc+7~rBxyg6&jMFP9Aa3 zZBC8?J@0N-3)Y-1!0&5&KQ3m>z%))67{!=@LxQ{^$YDW_2yzr-><>AOf$|$ThH(Rv z7-vUaxjJXy6I3;981S%Z;3-aWyxPu$pW_-nHL!)#20lZLQ5*OiU$Dg}e9 z%*1^KyE<2V?D*U~HaBwC7JYDts1tX%5d)@RK&p3x#S0RaGT*ki-S#`w)wZp8*bPx( zE;x^VNSq_HQn4IHJRLTT+a}mARR&{xm=E%`k0T<0<|-nvmYi@)PQ)cA=#mq6$%!!( zOvrVb_Xu};KZQZAi7V+0HMY%9no|uT1PCMiq)Z}Q)(Sr z`UT?4&ylD@?<|u)@V3tHAESAf}cL_2arSx2D9m9d-hRp2Qth~L~+88VxCbb zyg4SL=r=?d|KVx~F<$7Ws{uM0#BP2@`HQ9CEu8et?k5*!W9c6edB#OEN>vI|q^EG2 zRMg=R>l7hZWeqwR=~B9%&JIxXOsHu!XnKsQZ-<*!gQkzr^ik@+6KYxunx3HQ*>KZZ z(DXD-3!Kk|n(hgj7GPvTRii;wQMK7n)mTvVELG3r0?R1M{3;@PQ1!guv+wfCd$>p{ zt{nA|(FvkH*+B2zV4fG*X_u&dDb!6e=;o^L<}$Bb!PO8q$xt`*baS2GIb8Ga{J}OC z!}B=ZK;O5BDbKjrk?qA%mKDiCzu!-Ly|i1Z8^H z@qwSD>DT|nq?n=x`UUUtdDQ1IpQ}FC$U86{kX3rbYMJ8yCjU(); + prodotti=new LinkedList(); + } + + public Magazzino() { + this.codeM = "DEF"; + giacenze=new LinkedList(); + prodotti=new LinkedList(); + } + + public String getCodeM() { + return codeM; + } + + public void setCodeM(String codeM) { + this.codeM = codeM; + } + + public String getTelefono() { + return telefono; + } + + public void setTelefono(String telefono) { + this.telefono = telefono; + } + + public String getFax() { + return fax; + } + + public void setFax(String fax) { + this.fax = fax; + } + + public String getIndirizzo() { + return indirizzo; + } + + public String getCittà() { + return città; + } + + public String getNazione() { + return nazione; + } + + public LinkedList getGiacenze(){ + return giacenze; + } + + public void addGiacenza(Giacenza g){ + giacenze.add(g); + } + + public LinkedList getProdotti(){ + return prodotti; + } + + public void addProdotto(Prodotto p){ + prodotti.add(p); + } + + public static Magazzino read(Scanner sc){ + String codeM, indirizzo, città, nazione, telefono, fax; + + if(!sc.hasNext()) return null; + codeM=sc.nextLine(); + if(!sc.hasNext()) return null; + indirizzo=sc.nextLine(); + if(!sc.hasNext()) return null; + città=sc.nextLine(); + if(!sc.hasNext()) return null; + nazione=sc.nextLine(); + if(!sc.hasNext()) return null; + telefono=sc.nextLine(); + if(!sc.hasNext()) return null; + fax=sc.nextLine(); + + return new Magazzino(codeM, indirizzo, città, nazione, telefono, fax); + } + + public void print(PrintStream ps){ + ps.println(codeM); + ps.println(indirizzo); + ps.println(città); + ps.println(nazione); + ps.println(telefono); + ps.println(fax); + } + + public void printGiacenze(PrintStream ps){ + for(Giacenza g: giacenze) + ps.println(g.toString()); + } + + public void printProdotti(PrintStream ps){ + for(Prodotto p: prodotti) + ps.println(p.toString()); + } + + public String toString(){ + return codeM+" "+indirizzo+" "+città+" "+nazione; + } + + private String codeM; + private String indirizzo; + private String città; + private String nazione; + private String telefono; + private String fax; + private LinkedList giacenze; + private LinkedList prodotti; +} diff --git a/src/Temi d'esame/Prova 12-01/MagazzinoNonTrovato.class b/src/Temi d'esame/Prova 12-01/MagazzinoNonTrovato.class new file mode 100644 index 0000000000000000000000000000000000000000..2bfd08da7e7f2e853a7c36da570df00a0ee0f284 GIT binary patch literal 245 zcmZury$%6E5dQX@I}TBZM08Ys5*i)R2-Ud)(JwZa6?WyaCvtD4k|;cYhZ1wwXv`!t z`F`@vyg$zufDtMla`0S~T$CA{iB!@|8R{MX$gg~O;wl`jO(az~?rs_EnLY@HsxOrY z;`2^K8@@Xc6x}yTJCn(zEv1wKxJF>o7qq`7P09`0*+U~q5Mz{mJRnoniaXDNJ+JJNii!7?y} zH4Q}r!*VPc7(qcATgR7jEK9?khXOrCuVgO^3>F?)Pptg9<(Bg+f$zBGS%Fl^-Yoh~ z&GB4Ypts`NwVEd&<^=SzV-;<;M*nc*Xf<%w^99F!Y?lhoX29dg6{qZ4LDgr_Sl6J7 zh3gF%Yxc4{uwj+0TFr4Cf#bUzSO`Nrb)xqogM-Tgnas`tc6#QrcLfqxS+YPsx!Q}> zjWyf9ZLO`-qnGVK?op1ROm^pKMr<}C_H{`p(USyO4uy(mvXm;xLy;$uQ55K>NE?XT+rmRval2#y{Y3VFEn#>mINU0}w#f*X)Vw(hQdIb71h30Bj z3G3TdN#JOxj3U2Mv|QKrXS0Q6-z#}R;PIZ*D}hyfykJ$7@EXXWr^22KWa$mv9WTEu zJ?ur>+EDOm6%whW;Sqt9i!8#X(F3p1yaL9GSM`hbHAmiTI!b<0cDach9-BCdV!9<>~=+C~jgL6DBg!tYbriYr;dt#8=2`@J(!jr1c11B2Q_kns|cK(wsH%HJ*~I ziEmJ2WOOMeZX(a#XeubMzw-rNsXFT=n@OJGTfRCHeTL@(1Fg8FwMTZ51h%=N`UhL( z+zf2r3Orwc4aw_|^Bx7-8n^*8n_U&y(>fSlo`Cky+FZ1sG7}LPqq|(l_tTbo&a0|- zl&V<%rX8)?@`Rrj`7HLTJni?)OzKA0UFL9_w1?XoG%AOUl#o0+Uu#$kKUh|!V!JGL zrrTTH@xDX32|LPHy6ZMuCe6<`_}Pug9^xz}+enSYATX)sC%DfBYOb^B=bVi~ zJI#ny#EAvuaxWorQ(K7TrneB!Ww(&Xy+Y4}m+0Ms)|%=+Gn!S=9)U)yApspp{`z2G zFH-cI$daePN#w&khdByH_vC&->_rozS2+i0PvJDJq%=m#F^;{8PAi?EyhEhBkCAWU ztuX#D{SkEHrw-^5Zk@r|Fm#O7#ufAl*4GI=N@&UR?XIljove>B^c>DJyJWq+K&>-$ zJiLtyJn{}^LpGB*4s zPXR_L!32w%A_#(Bb@9N_!C2mQ!{n!Bl?g3{VjnTMf9nz zxq(Cca86=gkxn7@8oGw-|ERma(KU-jQA i_(%^l#5p*4sE&gTftquQG+M{u&ThHI^Yg025B~@Ja~4DZ literal 0 HcmV?d00001 diff --git a/src/Temi d'esame/Prova 12-01/Prodotto.java b/src/Temi d'esame/Prova 12-01/Prodotto.java new file mode 100644 index 0000000..023a1db --- /dev/null +++ b/src/Temi d'esame/Prova 12-01/Prodotto.java @@ -0,0 +1,90 @@ +import java.util.Scanner; +import java.util.LinkedList; +import java.io.PrintStream; + +public class Prodotto { + + public Prodotto(String codeP, String descrizione, double prezzo) { + this.codeP = codeP; + this.descrizione = descrizione; + this.prezzo = prezzo; + giacenze=new LinkedList(); + magazzini=new LinkedList(); + } + + public String getCodeP() { + return codeP; + } + + public void setCodeP(String codeP) { + this.codeP = codeP; + } + + public double getPrezzo() { + return prezzo; + } + + public void setPrezzo(double prezzo) { + this.prezzo = prezzo; + } + + public String getDescrizione() { + return descrizione; + } + + public LinkedList getGiacenze(){ + return giacenze; + } + + public void addGiacenza(Giacenza g){ + giacenze.add(g); + } + + public LinkedList getMagazzini(){ + return magazzini; + } + + public void addMagazzino(Magazzino m){ + magazzini.add(m); + } + + public static Prodotto read(Scanner sc){ + String codeP, descrizione; + double prezzo; + + if(!sc.hasNext()) return null; + codeP=sc.nextLine(); + if(!sc.hasNext()) return null; + descrizione=sc.nextLine(); + if(!sc.hasNext()) return null; + prezzo=Double.parseDouble(sc.nextLine()); + + return new Prodotto(codeP, descrizione, prezzo); + } + + public void print(PrintStream ps){ + ps.println(codeP); + ps.println(descrizione); + ps.println(prezzo); + } + + public void printGiacenze(PrintStream ps){ + for(Giacenza g: giacenze) + ps.println(g.toString()); + } + + public void printMagzzini(PrintStream ps){ + for(Magazzino m: magazzini) + ps.println(m.toString()); + } + + public String toString(){ + return codeP+" "+descrizione+" "+prezzo; + } + + private String codeP; + private String descrizione; + private double prezzo; + private LinkedList giacenze; + private LinkedList magazzini; +} diff --git a/src/Temi d'esame/Prova 12-01/ProdottoNonTrovato.class b/src/Temi d'esame/Prova 12-01/ProdottoNonTrovato.class new file mode 100644 index 0000000000000000000000000000000000000000..42a652a8da1924320b58cc67781a0ab7c71d1662 GIT binary patch literal 243 zcmZWj%?d$L5dO|}-OEKvN!hXTQ*7+WMyw*8P!UK3HnQLQVre^wn z`et75#}hygg$OA`A#x$|0>MBV?S=y7#`GXBvU`+f-(5PZ&A#7U3-}}2DS_ft8#Rkh z8)a8=b7Ur3Qf#+sq7zV=TiTIxG$XUJbdioaNn9R2(gLM_S)ls6w}_3?CpErq)!At> nsKMhelM>vV!82e~XWru-wAy!w+gA^HMqf6?KA)W#W;|p+jypD0 literal 0 HcmV?d00001 diff --git a/src/Temi d'esame/Prova 12-01/ProdottoNonTrovato.java b/src/Temi d'esame/Prova 12-01/ProdottoNonTrovato.java new file mode 100644 index 0000000..3118ccb --- /dev/null +++ b/src/Temi d'esame/Prova 12-01/ProdottoNonTrovato.java @@ -0,0 +1,5 @@ +public class ProdottoNonTrovato extends RuntimeException{ + public ProdottoNonTrovato(String msg){ + super(msg); + } +} \ No newline at end of file diff --git a/src/Temi d'esame/Prova 12-01/Store.class b/src/Temi d'esame/Prova 12-01/Store.class new file mode 100644 index 0000000000000000000000000000000000000000..1c2a0dea6b5a54200511000eceb223741cb969fd GIT binary patch literal 3987 zcma)9Yj_k_8Ga|(>})nefF%hm4X{94k}M&#v=lZ8E!P^^gwO<1=!H&phh@WNH{G3u zvR3P*+KaYms}`!(YSq-%3e>WJMq8DNS}(2FD*CAZ{NWFOYWvj2_nX&)7kx+5Sj|wEJu^veohGaPGM*u0=81^HKv>zSF$S~sP z?%gV~)yTp0V-E6u9Klf^?on|}-b#pCLDW7V(!DZ#P(VH;!+oMcDS!{F_=q2k$oue7 zG4!z-+>ejT@Cn(bp$G7wiiiBT5(yt3mggsZ_>?>!5yOwFI4+O{A3iNWj|$3XYVeq# zJSHe%JTAj$W#e-qeO|>A!t8_(CuRPm4_^?xFRJ*G@O(-vKjOoeW%9J_e8q>as(40$ zFOk$^M!H}qXowE!NA$M5nM}1slj*}oJetgz?Fy>W1nr2r0y&F@D>Y(lZqCrNu|t#43YL}3r}T89tqMXDVb3 z+pt~3`(${(4A0`58lJ=RB7IAS7c_hur!?%xZR9i=pq@;+KbtwCn;8|SHJrhV8oq;5 zDqhlX7Dbxt8Xn2yOe%!*P~14E=Tqhyw#_7hhB3jt19xgThw~a<#<+&>;(Hoik?E@# zR}gSQSGK2Mo|C*#PEXMSJ^Vg?z=UY{Auecm4L?$GQNxe%yn=<6+pa8b$tP2BBdZ|T zl?qL=3B@vL{>76qBNEc^6Z}*`eJIVv3(tmZH<&i@SHtVVJ1S249C}O)(VW>du%F@Q z%&3N6;FlWSz?&L=g)mZ(lWA|>Uv4t%cr61sab&+ZZ8%NC2>>;G z3B!~FtD7~~)NHrAE8Wy^1)}d*&NPNe%gEBhdRu#1FR^(D*=^)WC>-3iTQ87eiTq|(gTS`?F$b=WY4wNr{zuV$L;&agOdV<5RwiVickXv&MO zOGhZiV>-pby%U(ZP5rgnyG z@6PLKGihFU+H#;vAiHLV#BzSlY~}Y{CBJcaZbQKi&MI&-|9FH?&bv70X+AmM2`}X+ zx;gd$%3p}!WioiszuB#Vjji7d_Kn! zAd>|VkEL5ThI%4f1{?Sw^1>kJMJ(cjEP_Fg%og*(y(>u0n)?Puv1k&1NeO=`pEjG( ziR>8$D21aa@YC`H-ohn*QdVFWL-H_IaP+~0YRrWni&2BCs1-&n)^a6+c}&3qbfJ!+ ztjDcrfQ}#%)JzfODBmw&DelEGe$$3a1Lc&%)cX`Yi8=R_6N**A>g{22@eLo|^0F_ziS+1D)Jhs;_;- z;Qen`4_=^_Xx~xUDfLjqvK}SkX+4jSf|FR;_#~EbvRvV%9FV#xVnw)!l_w|u>ggPv zxYT%3YUuPh=Ik5CmCW~5fvbyHMU_>7CJse3kD=vN8n83c!YtTsbW+;HT-?Z5-^6%s zW}LQ=@OEZp2RhjX60urTzK1!AirZE6HF=4`PmCF!rLCA=)%N)@{EJIG|d z!;mPJqIDqQZ!9S<4Lx3Rp?h`7f%_@g{CmPqwQOL>8TO4*FcDk6wupAtjkLJsP@5#L z1hGLR3!@`a<$%b6(OJYM!MKrw%x@}Uvkfvj@me^rg=nJ_$D~K>LR<=!@*!M-Buj6I qz8=OyZ2IFE=D(n6%jbpgybGU-!T(4v_EUHVo8D%~6c`rJ!T$m&7xpOt literal 0 HcmV?d00001 diff --git a/src/Temi d'esame/Prova 12-01/Store.java b/src/Temi d'esame/Prova 12-01/Store.java new file mode 100644 index 0000000..dfe30de --- /dev/null +++ b/src/Temi d'esame/Prova 12-01/Store.java @@ -0,0 +1,116 @@ +import java.util.LinkedList; +import java.util.ListIterator; +import java.util.Scanner; +import java.io.PrintStream; + +public class Store { + + public Store(Scanner scM, Scanner scP, Scanner scG){ + giacenze=new LinkedList(); + prodotti=new LinkedList(); + magazzini=new LinkedList(); + + Magazzino m=Magazzino.read(scM); + while(m!=null){ + magazzini.add(m); + m=Magazzino.read(scM); + } + + Prodotto p=Prodotto.read(scP); + while(p!=null){ + prodotti.add(p); + p=Prodotto.read(scP); + } + + Giacenza g=Giacenza.read(scG); + while(g!=null){ + try{ + m=searchMagazzino(g.getCodeM()); + } + catch(MagazzinoNonTrovato e){ + System.err.println(e.getMessage()); + System.err.println("Impostato a default."); + m=new Magazzino(); + } + try{ + p=searchProdotto(g.getCodeP()); + g.setMagazzino(m); + g.setProdotto(p); + p.addGiacenza(g); + p.addMagazzino(m); + m.addGiacenza(g); + m.addProdotto(p); + giacenze.add(g); + } + catch(ProdottoNonTrovato e){ + System.err.println(e.getMessage()); + System.err.println("Giacenza saltata"); + } + g=Giacenza.read(scG); + } + } + + private Store(LinkedList magazzini, LinkedList prodotti, LinkedList giacenze){ + this.magazzini=magazzini; + this.prodotti=prodotti; + this.giacenze=giacenze; + } + + private Magazzino searchMagazzino(String codeM){ + boolean trovato=false; + ListIterator iter = magazzini.listIterator(); + Magazzino m=null; + while(iter.hasNext() && !trovato){ + m=iter.next(); + if(m.getCodeM().equals(codeM)) + trovato=true; + } + + if(trovato) + return m; + throw new MagazzinoNonTrovato("Il Magazzino con codice: "+codeM+" non è stato trovato"); + } + + private Prodotto searchProdotto(String codeP){ + boolean trovato=false; + ListIterator iter = prodotti.listIterator(); + Prodotto p=null; + while(iter.hasNext() && !trovato){ + p=iter.next(); + if(p.getCodeP().equals(codeP)) + trovato=true; + } + + if(trovato) + return p; + throw new ProdottoNonTrovato("Il Prodotto con codice: "+codeP+" non è stato trovato"); + } + + public Store filtroPrezzoMaggiore(double prezzo){ + LinkedList giacenzeFilter=new LinkedList(); + LinkedList prodottiFilter=new LinkedList(); + LinkedList magazziniFilter=new LinkedList(); + + for(Prodotto p: prodotti) + if(p.getPrezzo()>prezzo){ + prodottiFilter.add(p); + giacenzeFilter.addAll(p.getGiacenze()); + magazziniFilter.addAll(p.getMagazzini()); + } + return new Store(magazziniFilter, prodottiFilter, giacenzeFilter); + } + + public void printReportProdotti(PrintStream ps){ + for(Prodotto p: prodotti){ + ps.println("Descrizione: "+p.getDescrizione()+" Prezzo: "+p.getPrezzo()); + for(Giacenza g: p.getGiacenze()) + ps.println(g.getMagazzino().toString()+" "+g.getQuantità()); + ps.println("*****"); + } + } + + + private LinkedList giacenze; + private LinkedList prodotti; + private LinkedList magazzini; +} diff --git a/src/Temi d'esame/Prova 12-01/Test.class b/src/Temi d'esame/Prova 12-01/Test.class new file mode 100644 index 0000000000000000000000000000000000000000..89e0f6757e5924d7e78e451ee1f88e5bb000ac31 GIT binary patch literal 1048 zcmah|Yi|-k6g>kA1KXu7(5G6ZKIsd5)JI#a)wXC2U?a6j&VrQ>P2Ang&OMyD_uO-rAHTkR2e61O6Jxl+ag*a#1h-8DamPde=?G>b znB|y@Vjc?-WK3jn*QDSc$9)rnco1I8P!76uw5WLx_3jbJV~!^b;hf_-YLy|Fp4nwE z)@4;N3>6$#lv<5_;qBP_bwZ4W?YInM>Gy>L`;(om+iopeR-WV5R`kJGS=p73MZ4+q zIhK66a|~u#w!DhSJ332rM;xk*PGDgi6AW=bSxY(fY`J2)uJ9NvA9G~3dnVSfYj(R$ zGBZ_M>2u3^Ss`N6lU1pd{{w|J$F2ysEi{i|sy|Ihs=REu)y<=dXevj#961Y5L5+{U zb7iV3oYV)Bm~y3?5{J&A5**Jgtm$IU@q!^#R?-u?^16i$Y+A@;)xt}>B6DmUhAy@K!XXr?z`@W0?5Yai3gj9Mc%3uU=mP(2y`e>m)@}^k(!9&33?!X~S@d z)^Ha@6qj*@_L}+=A-Vy<3arRVX9(<_A-Ij$WNJ7Aul)(TM=Y&Q{zlk)(OBg0b r46F1X%wq_z5yvhPs3J+7fn*1M6T#rP%5kmxfN`W^lzy5B0bKtBa4PG$ literal 0 HcmV?d00001 diff --git a/src/Temi d'esame/Prova 12-01/Test.java b/src/Temi d'esame/Prova 12-01/Test.java new file mode 100644 index 0000000..051ba33 --- /dev/null +++ b/src/Temi d'esame/Prova 12-01/Test.java @@ -0,0 +1,20 @@ +import java.io.File; +import java.io.FileNotFoundException; +import java.util.Scanner; + +public class Test{ + public static void main(String [] args){ + Scanner scM=null, scP=null, scG=null; + try{ + scM=new Scanner(new File("magazzini.dat")); + scP=new Scanner(new File("prodotti.dat")); + scG=new Scanner(new File("giacenze.dat")); + } + catch(FileNotFoundException e){ + System.err.println("Uno dei file non esiste"); + System.exit(1); + } + Store store=new Store(scM, scP, scG); + store.filtroPrezzoMaggiore(15).printReportProdotti(System.out); + } +} \ No newline at end of file diff --git a/src/Temi d'esame/Prova 12-01/giacenze.dat b/src/Temi d'esame/Prova 12-01/giacenze.dat new file mode 100644 index 0000000..149b062 --- /dev/null +++ b/src/Temi d'esame/Prova 12-01/giacenze.dat @@ -0,0 +1,28 @@ +MG01 +PR01 +50 +MG01 +PR02 +20 +MG01 +PR05 +60 +MG02 +PR01 +20 +MG02 +PR03 +30 +MG02 +PR04 +20 +MG02 +PR05 +40 +MG03 +PR03 +30 +MG03 +PR05 +40 + diff --git a/src/Temi d'esame/Prova 12-01/magazzini.dat b/src/Temi d'esame/Prova 12-01/magazzini.dat new file mode 100644 index 0000000..452c55a --- /dev/null +++ b/src/Temi d'esame/Prova 12-01/magazzini.dat @@ -0,0 +1,18 @@ +MG01 +via delle rose +Benevento +Italia +123456 +123456 +MG02 +via Traiano +Benevento +Italia +1234567 +1234567 +MG03 +Via Traiano +Roma +Italia +12345678 +12345678 \ No newline at end of file diff --git a/src/Temi d'esame/Prova 12-01/prodotti.dat b/src/Temi d'esame/Prova 12-01/prodotti.dat new file mode 100644 index 0000000..7500003 --- /dev/null +++ b/src/Temi d'esame/Prova 12-01/prodotti.dat @@ -0,0 +1,16 @@ +PR01 +Scarpe da calcio +23.90 +PR02 +Scarpe da tennis +45.95 +PR03 +Pallone da basket +25 +PR04 +Pallina da tennis +4.99 +PR05 +trx +20 +