From d4be8b6eb6e940617eb68ac63c19ecf70e0f37cb Mon Sep 17 00:00:00 2001 From: Mangoost Date: Sat, 30 Mar 2024 22:30:43 +0300 Subject: [PATCH 1/7] Fork repo --- .idea/.gitignore | 3 +++ .idea/misc.xml | 6 ++++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ JavaProject.iml | 11 +++++++++++ 5 files changed, 34 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 JavaProject.iml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..2928d94 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..9cc296d --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/JavaProject.iml b/JavaProject.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/JavaProject.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file From 11300d39f69c8214098b30f991b03931650798bd Mon Sep 17 00:00:00 2001 From: Mangoost Date: Mon, 1 Apr 2024 16:57:53 +0300 Subject: [PATCH 2/7] =?UTF-8?q?=D0=BF=D0=BE=D0=BA=D0=B0=20=D0=B2=20=D1=82?= =?UTF-8?q?=D0=B0=D0=BA=D0=BE=D0=BC=20=D0=B2=D0=B8=D0=B4=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/misc.xml | 2 +- .../ru/gb/FamilyTree/FamilyTree.class | Bin 0 -> 1048 bytes .../JavaProject/ru/gb/FamilyTree/Gender.class | Bin 0 -> 1052 bytes .../JavaProject/ru/gb/FamilyTree/Human.class | Bin 0 -> 3476 bytes .../JavaProject/ru/gb/FamilyTree/Main.class | Bin 0 -> 1886 bytes .../ru/gb/vending_machine/Main.class | Bin 0 -> 1172 bytes .../gb/vending_machine/products/Bottle.class | Bin 0 -> 1140 bytes .../gb/vending_machine/products/Product.class | Bin 0 -> 1470 bytes .../vending/VendingMachine.class | Bin 0 -> 1574 bytes src/ru/gb/FamilyTree/FamilyTree.java | 18 ++++ src/ru/gb/FamilyTree/Gender.java | 5 + src/ru/gb/FamilyTree/Human.java | 94 ++++++++++++++++++ src/ru/gb/FamilyTree/Main.java | 44 ++++++++ 13 files changed, 162 insertions(+), 1 deletion(-) create mode 100644 out/production/JavaProject/ru/gb/FamilyTree/FamilyTree.class create mode 100644 out/production/JavaProject/ru/gb/FamilyTree/Gender.class create mode 100644 out/production/JavaProject/ru/gb/FamilyTree/Human.class create mode 100644 out/production/JavaProject/ru/gb/FamilyTree/Main.class create mode 100644 out/production/JavaProject/ru/gb/vending_machine/Main.class create mode 100644 out/production/JavaProject/ru/gb/vending_machine/products/Bottle.class create mode 100644 out/production/JavaProject/ru/gb/vending_machine/products/Product.class create mode 100644 out/production/JavaProject/ru/gb/vending_machine/vending/VendingMachine.class create mode 100644 src/ru/gb/FamilyTree/FamilyTree.java create mode 100644 src/ru/gb/FamilyTree/Gender.java create mode 100644 src/ru/gb/FamilyTree/Human.java create mode 100644 src/ru/gb/FamilyTree/Main.java diff --git a/.idea/misc.xml b/.idea/misc.xml index 2928d94..f88369a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/out/production/JavaProject/ru/gb/FamilyTree/FamilyTree.class b/out/production/JavaProject/ru/gb/FamilyTree/FamilyTree.class new file mode 100644 index 0000000000000000000000000000000000000000..f75cda527988030e2477210db4d4a28449945135 GIT binary patch literal 1048 zcmaJ=QEw7K5dIb@2j?M()mm%SDy@Lp(Vr=Utgz*{BX@fw#P~n_ z8Jd`A`rr@nM;Yfh3`Ze8?9A-!H{Z_8?)?69@e9B!JlByzT0_Rb2C@vLb3Wmw!`;4l z+Bp|p#gILcu2jbi>1ypPj~wzEbOTplFzooD+3%Q5K9bI~?F*4G88VIxh@fQ8NJAwZ z(ymV(v`O@t(XcO*);`AfKK{bv}q-50+t~kOfQ#G3gZr~=v)`$;9 z!*jb_y_af0R-m}6f=guc$TegP`IhXvT!p@1s9#F|$X+S>Bph+qI<~0fhS#H*qAgwV zE*y1)-{u{MJZ0PKa_5ZuGTP6b88wiU*6u3fqN7BbQ{KPEY*yFitGB$+?~103t|~5q z52MaghhKZ13Y5>sZ-p9oyQrL@3(ieBm^`&`W8K*u9gHPoVR))^{`A0gd|Hxy=^ zOWfcl?<&uqGJHwC(;OIIcEa7BBZ7+UdBbpQt-f8tvlQ5#j>Q`IhXg+Uqe~xRPSN0w z(~?S1`;0fPEBuDTgFplto-*vO)U+;D4JO0g|3hg!;<~U$laZod$Y{}QklrFIga)azxk7t zC2rAZ_Sqk0Jhx!POq#T(=icXe?s?8VKYxAw0bmEubVL|3{>bjN?KZ?twAZ}*xExp#9l3?z`$ zv1no$DF&_M4m>(EU9cLb{EXW!_j>kW`&4v-s)00a>R2(6!7YZRzkoe&)TaZ_xH}Su z?-^bcX4tzf9}cTC3(dfHyk2$o1St^e=Sx9dyZXqTzVr^{C$#{t<7>zHk2LU~6t48B&cwhr2EA zJCZ*YQ9a%#t<-h*49No#oD8~exKEfs_*AqSoH!KXO{eGaVB`~3DOfGK=32*{Hl#G8 zCEHe;ThmsR!DtRfen-?DX=!0HWMz4A+ZAeCnnqID&dPZMDAFha$()=Y+R-TAz&ha` zP_{-H!2#7F+Y7ih(tpkSd$ zS&3eaXdfk%CILz)R-vfSmR>C7FOdCAzw?xIJeDp(rFeww&_BJKA*Gx&cLunqXW9ZH6&SJ1pp3+`UX{+CemAa!`;O;q;FuA9OiGGRu=P+cMlLi@7 TE{K*R7m;Z#Pf($?2%i21SP0M* literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/FamilyTree/Human.class b/out/production/JavaProject/ru/gb/FamilyTree/Human.class new file mode 100644 index 0000000000000000000000000000000000000000..cc8a1a8709f40bbc5c958fe679defac5e83e7c2f GIT binary patch literal 3476 zcmcguTUQ%Z6#fo`3`vJ;xdkW%<(dZ4Dy`N4+CsT#fLf5M)#{K;VM;Q?N+ztua``8G z@@J^ath)N(5AeaC&0KnWU>%tyOWYLON@eU5UG; zV*o=u%wO3+6|jJIVH7In{wsmm`KJ9) z`Z~sf6*X(szsA1#01=@+}?#YTC zm=8R6ty}{P2E@k{RI}~|m-}#y!FPrPArc80@i=^l22H*OCMQP3s^|sAh&wD52ub`k z|_S))Or ztFEOYuK~vbB3HN?<)&JqnkYJQI$$1S@h<9ye2 zPn~?Z6JH2yNyra;BdpGexzr?e{Z+vx&qnof_G)dKebtKDQ*Cxt{MZx4^Ekf5R~o+N z?)XArx^cZ&_Jwn1rjy$2i&BX&Mh1-UmFPP=&tmB+j&NJ6`%PSKPsiFhm zFPazv8oWobZWIa!7F}`z`i^azrS*bQE}LZyF9l{=VhWO~;d_CJ>!DO6DlSaX<=IBJ zibhYmxXEkd8(3PpVWp*;Ra&|-L8&PHCBo6wD1Ey0$oA5^4y0-PF8%wPY$w@N@(o1t zP8C`*RYg~Fv5LNAB2vXbGSN}RNHP(vVmz79s+jzh@a?!q&soIi*^LNki4k)*`slvz zM}nTWF@PBi(lHO=JwiQG>)?HxAq2zrx}k#KY={#qbz_Bfh|^f;al>2V}c>2WL? zmdV#C9>$MiiBKx)`!x0dAJCIyOp|3yNAh=QzmU@=#Yg2}LW)x)9iBLW5Ao2Oyhdo2 z7L}XBp{v>a*#+F9B_|}qkV4hNi+bS+e1we0)hwjTFJvlE$O=}2gmn3Z%#e`T5Fwl= zyaQ{2Li+qd76OHQ94w^IFJzH~EQJW+!(}0#(06O=(G2*7+zS-)80+5TD@QZn7jmD3 zJO~lOxy3>@@Pv--E*)g^(Tw&b1=mp;bP`XY}+-9rsIp6d+X~i(PN>l|38x@7WWQxEUgmYmfJAFHp#&U&v0N zko{mGvZXZF)h-Fy3lYMl&qAKo3;ZRu0xs}nE^zvF{egGM^eHo-%!o4M%1n}Ziv_^1 m`&pCjWv`ms@j0=#Q42dD+evF3(eDu7(7!l&-{LzMNc;;Oli7j* literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/FamilyTree/Main.class b/out/production/JavaProject/ru/gb/FamilyTree/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..4913611d7447dffdb259c891fba3af42bf5bac0b GIT binary patch literal 1886 zcmZ`)OK%%h6#lMb`;MJyIukd~5}MGK+I7-_kkDe6LYk5`;H0GqE@{hS98Z&}{6Ld2 zQWi*QC00}_AQmh@LWm8!P@2YVn(o*jA&nOx*zyBdv0{NZcP4gh?09kK-20u!J?DJ) z_~(BgJpnL*#V~wmv{^9iGYoCfSeip(=(bAQ zQbwE7^JZ>!-ZBjBLMg8oB!n3{oG+ZmPPuZsvgVYXhhfOr$I&5UKNN)tl=hL$QW z>bY~eZ7}$XHyHY()6>(jR11Y<2%U&<9FWn4Zib$w@aK&}*031-GkT8v^`-XENQS}D zD^l%a_%iARbCaF3EwiwcY#F}w;a(v;?UHTgw3NAGC!6o$7HiM*SX#nCQOD1nb!W@j z5Ou8F6(tyu@wCW4IA!E1PYHtzVdqm)Dm&ZGx`bzh+1Ji`<+d=b+^O7^aD<`L)!A?! zRc_JwwsXI-CgE9e{uSx2IX}89wM_Vk3ZI`jPu#G#+Ho9lj$zTh5%TVKr;;B{P1W5cTNtB)u`gEH{~=g@C2n=AB$npr8liE`y# zuiepWUOx4&BbFvyx0c93qyUG6k~BhW?bZu${#C1UPFYd zMzf#`9aH%yiloSdsr+}66q0H;P4M_|8Lw8a=a6VIqQ$=?~x= z^k5Uc_=(V8Fo54^DE^5<_zQ#h2SY4KV=#ilY>-CZ2#&G@j)U`&+z2Qjns5gm+2e6hDXe@ILW` KK_{<1Wc~wfw zZRKtAP}f|BK-sVica>pU&eR128FEffX*ZQ)-D(+D`$I?74h%~_JuCH5yfzAp5Fm2& z83v!c!y&FQEKG(ta_m-5bGyo>?YgEOM1&!v*_xWyY*P)aH-AypKw$09aEAy92@alQ zNXgZ4@%yerrIjib&Ub@h@jrZfBjO;^4E~N`ezF7WjZ=;k<~YY)hU6rUOr2|-mvA2s z7(}(z^3WKva`kG&rA$491uP0!k{}~Q&d)TT+1Sd|8A)>X&gXD{e;4~#Cu?MwQ`AxnhW8A2!J z_ZMYl>U6IPSAmv_$4L?85gT4cELfXA;^$RzuA&(ZX4gZClC zMHP7WF^?zoJ@Vfa$cPBg`ixEr?TmK+@&N4H@cKEe{2Da)7qm*F1iZv6I)zX|nIio0 zSIY3wUOs`)h<+I$R6T*zh=t>b#t|DJUOPdm5xW`3tpV=rW^;Yq%jRkMj)&Pkmis7- zIp+wCUADOV(atzn(2Nz*5?flU&(gao$e-!w%l Jlrx1l{{XpNAcX(` literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/vending_machine/products/Bottle.class b/out/production/JavaProject/ru/gb/vending_machine/products/Bottle.class new file mode 100644 index 0000000000000000000000000000000000000000..c53b36766ed1c10832424493e8d831b7b695a60a GIT binary patch literal 1140 zcma)4U2hUm5Iq+b7U;H6to`t#Ql%}>%IcdDV`3qVCR9ym@WB{!S#Ds@{kZ%J;0f+$5JOytW*~ti!=5)bdmVEk z+^+5R-VV9dw_Rb5JlP#v$~Rwz21D|Z?b_-w!+NQC#wXl#xZ5*Z%A>Sequfp-g|v>0 zfh8CWyZ_)ll1e#(XeZJc56NJSK-r3cEOHDfB|~b4wNiP$V4j-E8@PfshK(T~h`Mww zu3p)yPnNH^t9*w2g;M9)h+`3wx?<4kvP<%^O&ZJd@vtMjQ{D-b=bO^vPMdpn;737C z_3fZ=^S|1!5xvWU?(>U8B}SfY(a&^GsCG1_c&XfA$h73xv&69-2w4heSq)x=A$KID z@|DL&CqngQ*H58H^4Vb_obo_lvy+N|VWp?s?K;9QHl-YlN45EmW+J~Oo}Q1y0{H70{EN<+uvBe!6C#Q_cbt~3 z1kKWT=DNbGJKXn$uj4Ll;apFPr0Oskw*L;LO%40P4lR0&){oIit4>y&>;$gTxlZ02 zXh_n%TsbIRfK@iN&(J?oAchS(R|pR11W8eH8k^)*D1{QRg==&N)^*$B`Tkwzb7Lsk(>sNDYX#-B5GO$&;1a9Ahd)?W hXINGumN*Ji)DCXbog%(n`tIO>ybM`~sNx>BegX~c5@P@W literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/vending_machine/products/Product.class b/out/production/JavaProject/ru/gb/vending_machine/products/Product.class new file mode 100644 index 0000000000000000000000000000000000000000..87cbc0a687b9264363ad36691be0694fd5f1c775 GIT binary patch literal 1470 zcma)6YfsZq7=F%f9kVc)I0O_>ZrwoY{lW-|ZXqt2NCLqaKbW(w*$P{`v}YuI^Jn-Y zOw>eT!UunV-~2SPPjA-sBhzkJcJqCQ8!gK=^{(qQ zdWP`yoxos7*t}yhjcZEwiC0TJqMHZtB$*yY|6visjn^SQW;|wvYL9S|!0OwUq z;5x%ZhaZ|{$2PclV~G}7p5V6d7&NWg-=k9K_c7$Pes86)PhiVVgHU8^#AUnJshjQ| zueW{pj=|ge+_mI6bS6a0l8tNsr$vcqHce3_P9$iRPF`?IXjR!k$1i7@=}E$UjGkl!lv_pp8&A4Hu&O8E-N#`9PRYej)5UnnUGBtH$hzvLPY> literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/vending_machine/vending/VendingMachine.class b/out/production/JavaProject/ru/gb/vending_machine/vending/VendingMachine.class new file mode 100644 index 0000000000000000000000000000000000000000..3b38adc936ba171d4935bdcdf7e2f3b66c7cc433 GIT binary patch literal 1574 zcma)6$x;(h6g@AAb_h+tFbG5x#UT^Kc_27|V>I9p4J8|Gk~Xx)gz9uG-8p=POII%3 zsKp>yrLJ9tKkz%OayYNkm_Ui;=Jk8G@4e^T`_6q|e=dIlFp8T#xZqacQLzb|1={Xw zkFa(*!S?6!=s$Lluabm3V$S{zxz8jAH)ILoGXF z6!q0}JX5oe*USPgBPSq|3j6}?Hd4hh3h`0X)Sje_vgJby+!A7oiU8ULnrF>Yu9CIn zPm)X3W27Y^T{~5DNh(c_Ycl6UH+mHGst976z}~-ebll7FYc&XgO=aCmlAtG)3}>3L z9Xk~CtJsNM0{*qgY=)MjYiFoNsi9$s@RWkx0$b~yOj{hj8S?%ogkq;FV71W{gtHap993Jf-4)>0?J4K&uE zC1f3gDuxgj@EVqGYF5b<=n6R@_5~yzJG~F!pn^jx4&#VGpkDQ=i-0ntl_&JayblUu zN=6)0aU3VuxT0$g^Yg zSTjahU}ysbXHM451yOud(;pp1LmPyzmuw=O;dMAxf&UI;IeFc3@XE>Jy^=snxlyD7 zJsT>DzG+L#J{Z?#ovMB5QpL>b7Yx~#_O(MlBqhWd^75Sl++6u^aOaX!YkxWD5IAe^ z&(VW}h;3ZY({js>06HU!5Ru?Kl*mW4++IZMJlfvbAs4s?;NjZB)sH5$q62NXNK2Ou z+KEd@^29VYIMsy9xZ*%e5>8SJMkBZ9&@tt?JCBY9Y>mvJExLq07bfdKe)0kNN{C*j ztAhmpfCQ1kIFk!ZV9Wt|LkLN6^dknyeorbI*t>wxqy$+)Okg~=g#7|9(Z|hEfiLKu zhz>4bcrqF|DLr5R`W9Wl>9 list; + + @Override + public String toString() { + return + "FamilyTree{" + + "list=" + list + + '}'; + } +} + diff --git a/src/ru/gb/FamilyTree/Gender.java b/src/ru/gb/FamilyTree/Gender.java new file mode 100644 index 0000000..f660f31 --- /dev/null +++ b/src/ru/gb/FamilyTree/Gender.java @@ -0,0 +1,5 @@ +package ru.gb.FamilyTree; + +public enum Gender { + Male, Female; +} diff --git a/src/ru/gb/FamilyTree/Human.java b/src/ru/gb/FamilyTree/Human.java new file mode 100644 index 0000000..5f9011f --- /dev/null +++ b/src/ru/gb/FamilyTree/Human.java @@ -0,0 +1,94 @@ +package ru.gb.FamilyTree; + +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +public class Human { + private String name; + private LocalDate dob, dod; + private Gender gender; + private List children; + private Human mother, father; + + public Human(String name, LocalDate dob, LocalDate dod, Gender gender, List children, Human mother, Human father) { + this.name = name; + this.dob = dob; + this.dod = dod; + this.gender = gender; + this.children = children; + this.mother = mother; + this.father = father; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public LocalDate getDob() { + return dob; + } + + public void setDob(LocalDate dob) { + this.dob = dob; + } + + public LocalDate getDod() { + return dod; + } + + public void setDod(LocalDate dod) { + this.dod = dod; + } + + public Gender getGender() { + return gender; + } + + public void setGender(Gender gender) { + this.gender = gender; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public Human getMother() { + return mother; + } + + public void setMother(Human mother) { + this.mother = mother; + } + + public Human getFather() { + return father; + } + + public void setFather(Human father) { + this.father = father; + } + + @Override + public String toString() { + return "Human{" + + "name='" + name + '\'' + + ", dob=" + dob + + ", dod=" + dod + + ", gender=" + gender + + ", children=" + children + + ", mother=" + mother + + ", father=" + father + + '}'; + } +} + + diff --git a/src/ru/gb/FamilyTree/Main.java b/src/ru/gb/FamilyTree/Main.java new file mode 100644 index 0000000..b9ca3c4 --- /dev/null +++ b/src/ru/gb/FamilyTree/Main.java @@ -0,0 +1,44 @@ +package ru.gb.FamilyTree; + +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class Main { + public static void main(String[] args) { + + Human human1 = new Human("Дмитрий", LocalDate.of(1981,3,17), + null, Gender.Male, null, null,null); + Human human2 = new Human("Валерия", LocalDate.of(2005, 10, 5), + null,Gender.Female,null, null, human1); + Human human3 = new Human("Алина", LocalDate.of(1980,6,4), + null,Gender.Female, null,null,null); + Human human4 = new Human("Наталья", LocalDate.of(1961,6,1), + null, Gender.Female, null, null, null); + Human human5 = new Human("Александр", LocalDate.of(1956,12,9), + null, Gender.Male, null, null, null); + Human human6 = new Human("Маргарита", LocalDate.of(1932,2,23), + null, Gender.Female, null, null, null); + Human human7 = new Human("Борис", LocalDate.of(1931,8,12), + LocalDate.of(2008,8,16), Gender.Male, null, null, null); + + human1.setChildren(List.of(human2)); + + + FamilyTree familyTree = new FamilyTree(); + familyTree.list = new ArrayList<>(); + familyTree.list.add(human1); + familyTree.list.add(human2); + familyTree.list.add(human3); + familyTree.list.add(human4); + familyTree.list.add(human5); + familyTree.list.add(human6); + familyTree.list.add(human7); + + System.out.println(human1); + + + + } +} From 858573070af9e404250051230260dc540290b186 Mon Sep 17 00:00:00 2001 From: Mangoost Date: Sun, 7 Apr 2024 18:43:25 +0300 Subject: [PATCH 3/7] add Writeble --- .idea/uiDesigner.xml | 124 +++++++++++++++++ familytree.out | Bin 0 -> 1794 bytes .../ru/gb/FamilyTree/FamilyTree.class | Bin 1048 -> 0 bytes .../gb/FamilyTree/FamilyTree/FamilyTree.class | Bin 0 -> 1731 bytes .../FamilyTree/FileHandler/FileHandler.class | Bin 0 -> 1778 bytes .../gb/FamilyTree/FileHandler/Writeble.class | Bin 0 -> 251 bytes .../gb/FamilyTree/FileHandler/familytree.txt | Bin 0 -> 1794 bytes .../JavaProject/ru/gb/FamilyTree/Human.class | Bin 3476 -> 0 bytes .../ru/gb/FamilyTree/{ => Human}/Gender.class | Bin 1052 -> 1088 bytes .../ru/gb/FamilyTree/Human/Human.class | Bin 0 -> 3843 bytes .../JavaProject/ru/gb/FamilyTree/Main.class | Bin 1886 -> 2384 bytes person.out | Bin 0 -> 1703 bytes src/ru/gb/FamilyTree/FamilyTree.java | 18 --- .../gb/FamilyTree/FamilyTree/FamilyTree.java | 43 ++++++ .../FamilyTree/FileHandler/FileHandler.java | 28 ++++ .../gb/FamilyTree/FileHandler/Writeble.java | 15 ++ .../gb/FamilyTree/FileHandler/familytree.txt | Bin 0 -> 995 bytes src/ru/gb/FamilyTree/Human.java | 94 ------------- src/ru/gb/FamilyTree/{ => Human}/Gender.java | 2 +- src/ru/gb/FamilyTree/Human/Human.java | 130 ++++++++++++++++++ src/ru/gb/FamilyTree/Main.java | 82 +++++++---- 21 files changed, 394 insertions(+), 142 deletions(-) create mode 100644 .idea/uiDesigner.xml create mode 100644 familytree.out delete mode 100644 out/production/JavaProject/ru/gb/FamilyTree/FamilyTree.class create mode 100644 out/production/JavaProject/ru/gb/FamilyTree/FamilyTree/FamilyTree.class create mode 100644 out/production/JavaProject/ru/gb/FamilyTree/FileHandler/FileHandler.class create mode 100644 out/production/JavaProject/ru/gb/FamilyTree/FileHandler/Writeble.class create mode 100644 out/production/JavaProject/ru/gb/FamilyTree/FileHandler/familytree.txt delete mode 100644 out/production/JavaProject/ru/gb/FamilyTree/Human.class rename out/production/JavaProject/ru/gb/FamilyTree/{ => Human}/Gender.class (56%) create mode 100644 out/production/JavaProject/ru/gb/FamilyTree/Human/Human.class create mode 100644 person.out delete mode 100644 src/ru/gb/FamilyTree/FamilyTree.java create mode 100644 src/ru/gb/FamilyTree/FamilyTree/FamilyTree.java create mode 100644 src/ru/gb/FamilyTree/FileHandler/FileHandler.java create mode 100644 src/ru/gb/FamilyTree/FileHandler/Writeble.java create mode 100644 src/ru/gb/FamilyTree/FileHandler/familytree.txt delete mode 100644 src/ru/gb/FamilyTree/Human.java rename src/ru/gb/FamilyTree/{ => Human}/Gender.java (56%) create mode 100644 src/ru/gb/FamilyTree/Human/Human.java diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/familytree.out b/familytree.out new file mode 100644 index 0000000000000000000000000000000000000000..f1d0800d29def6eb39f234c6a9a8e0dc54101c0f GIT binary patch literal 1794 zcma)7OHUL*5Uzc&vOMG^pa^1&JmO(M5=anYg1`on1xz4#;MBX*yEODX?CD__OpG4% z<`2+BuO{NbgC^X49gK;Zn0QeyCZ052jUlnSXLp!o$HYr-Z`D^{ece^n^Y{nUI1Kuk ztK~CV3K@iMuP}_mx1ajoUw)hT*${K)6ykEdCZbNOC}L@g7GK7UAWC*nhT_>` z7TcUy=HO}(zTfT`jRF)I^pxRCnGKxf%ba0k_*nh}5%2bUFLq6IzoC$0&w{$HIb`Y-Pi3>BaV*B6_utOac@xCk zvNlz14vCJ=h?K_1y$GT{);m z2z|}(iYhdzDtHgf4B{v(Vz(lq&8r*JiHX>@rzIpR{wNS7{VgG&#Q6Y7ya77SA(wJ> zf)v42SM6}VR=IRr)v)B1_^5KIo>h&uA1zG4Vh5!Hn literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/FamilyTree/FamilyTree.class b/out/production/JavaProject/ru/gb/FamilyTree/FamilyTree.class deleted file mode 100644 index f75cda527988030e2477210db4d4a28449945135..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1048 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 Ia{~MS0i;NcCIA2c literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/FamilyTree/FileHandler/Writeble.class b/out/production/JavaProject/ru/gb/FamilyTree/FileHandler/Writeble.class new file mode 100644 index 0000000000000000000000000000000000000000..9b51e01c8cc1a894e97b5ea0ac5cf49e7513bfcb GIT binary patch literal 251 zcmY+&NA0;KW5L-cy=E4JbC^7vJbUQB} zGkLuqPXKF-9CQSxrj$u2H*{9|b}-Cxqcm?Ri!~d0G^*fGvxA<%B&91!O<5xMVaib< z;9ls;6%bg?clBN6GGL=ft2<+W+n0V>!t@`S#ue+*x9{+$Ehrs}I zwR}cPA%oDJRfci+_S3-o%Wo4u8=??NLvq74keMb9=g^YgMB8ZC<%AAP%Vg0OtnJdM zNuxH+7}}AZ;>{1ecVDCXF^DWc+#$QTXam5pLR_xbMAR7-MJ#Q};wzXDM9D77P&`-6 zVw)4o99k>F_uHLgQGgLsI^f2;zp=i(m$Qs)f{NXU3wk b?Zv=5=jIHXt54AGe%I5fhY!A}*Q@v!S%fWx literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/FamilyTree/Human.class b/out/production/JavaProject/ru/gb/FamilyTree/Human.class deleted file mode 100644 index cc8a1a8709f40bbc5c958fe679defac5e83e7c2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3476 zcmcguTUQ%Z6#fo`3`vJ;xdkW%<(dZ4Dy`N4+CsT#fLf5M)#{K;VM;Q?N+ztua``8G z@@J^ath)N(5AeaC&0KnWU>%tyOWYLON@eU5UG; zV*o=u%wO3+6|jJIVH7In{wsmm`KJ9) z`Z~sf6*X(szsA1#01=@+}?#YTC zm=8R6ty}{P2E@k{RI}~|m-}#y!FPrPArc80@i=^l22H*OCMQP3s^|sAh&wD52ub`k z|_S))Or ztFEOYuK~vbB3HN?<)&JqnkYJQI$$1S@h<9ye2 zPn~?Z6JH2yNyra;BdpGexzr?e{Z+vx&qnof_G)dKebtKDQ*Cxt{MZx4^Ekf5R~o+N z?)XArx^cZ&_Jwn1rjy$2i&BX&Mh1-UmFPP=&tmB+j&NJ6`%PSKPsiFhm zFPazv8oWobZWIa!7F}`z`i^azrS*bQE}LZyF9l{=VhWO~;d_CJ>!DO6DlSaX<=IBJ zibhYmxXEkd8(3PpVWp*;Ra&|-L8&PHCBo6wD1Ey0$oA5^4y0-PF8%wPY$w@N@(o1t zP8C`*RYg~Fv5LNAB2vXbGSN}RNHP(vVmz79s+jzh@a?!q&soIi*^LNki4k)*`slvz zM}nTWF@PBi(lHO=JwiQG>)?HxAq2zrx}k#KY={#qbz_Bfh|^f;al>2V}c>2WL? zmdV#C9>$MiiBKx)`!x0dAJCIyOp|3yNAh=QzmU@=#Yg2}LW)x)9iBLW5Ao2Oyhdo2 z7L}XBp{v>a*#+F9B_|}qkV4hNi+bS+e1we0)hwjTFJvlE$O=}2gmn3Z%#e`T5Fwl= zyaQ{2Li+qd76OHQ94w^IFJzH~EQJW+!(}0#(06O=(G2*7+zS-)80+5TD@QZn7jmD3 zJO~lOxy3>@@Pv--E*)g^(Tw&b1=mp;bP`XY}+-9rsIp6d+X~i(PN>l|38x@7WWQxEUgmYmfJAFHp#&U&v0N zko{mGvZXZF)h-Fy3lYMl&qAKo3;ZRu0xs}nE^zvF{egGM^eHo-%!o4M%1n}Ziv_^1 m`&pCjWv`ms@j0=#Q42dD+evF3(eDu7(7!l&-{LzMNc;;Oli7j* diff --git a/out/production/JavaProject/ru/gb/FamilyTree/Gender.class b/out/production/JavaProject/ru/gb/FamilyTree/Human/Gender.class similarity index 56% rename from out/production/JavaProject/ru/gb/FamilyTree/Gender.class rename to out/production/JavaProject/ru/gb/FamilyTree/Human/Gender.class index 9d17126d0a4094b3cb44466d3f8d8696fa663dcf..59157df612a117b38c92577dee91be0f91a46ae7 100644 GIT binary patch delta 173 zcmbQkaezbZ)W2Q(7#J8F8I0K(m>3yki%Rv=ll0vZb2D=)LyA&U^*u^+6Z0l2NJ+^1 z;E?k%lvIeuB{|`tw33DPB|I? delta 154 zcmX@WF^9wF)W2Q(7#J8F8I0K(m>3zvi%Rv=ll0vZb2D=)LyA&U_1#nRQc{aJ85kK@ zco27y?^;98`BAj>Bod`ka=ul@m-w{M@BY15dXFEi(y*=O%>@BQt)lVAS&;Rb-M z_@V&;1S1F;s6$v`=~44VGnp~7r!QQ_8^@yTAf(8SPFciA- zh2;2Xa;G_IXJ+>1Ei1XJFllDpr$Q)ePFf1F)PmL#CvRuR2Srb_fhAZ{Uy!3a7OmT3$H$Ic|T z=JV!E%AR%_(2k&}>@si*ZdHhmP1u=q-pVo(E*^bBWHpo?1GixnO;6^W2{C#< z`py~yYxSKYrrc@7I`l@+XCRJ*Lh}MFu_6$1S;w@q(+o*(S>W7s4E7xs1^osF(q^ESYbaC$W(#4*+)1@1w+0vy_vGil< zii;gDLeM`XCT!|qA!+4yh^x5T>!fix)bNWT`ghHcOE-n}wF|b#{w}h&; zd!*Z)J(7!JzZU*l;x%{1wR_OOAslw?4tdP$scqNgUKCGjP2bRHaqewb)3XMi^EK_% ze3Xcq21W%;)XBMt7LKJ2SUAE%+p+SdlOx;P{H*Az*zKJUHev#H1V;@VLx$zPKxtou zG?_4`hpiJNINJz0Jb|o%9Hyj6=;Oug@zN=2$s3sVi6#+>prFvIZP>Zwh?Td^jD6A^ z&9KwdkJ#f`(<$V+-cV7%n`@=X4c8X>f4)i;xLPV`SpD$kG`P9>n}6*iDMH(GX}Yx} zWoND7!sMux-|IRZ)9rG<$v`j&-eJg@u-QT)(|&a>Y9@Y#Q*D?My5!nD=PO(l)2$){!SZ?X-o)4I24?aGdid$`P&LAi_7NF6VYY2B&^=FzPo4qJDFVQT9c>K2AAKE4}6f z;ycD~bvVK240o3iq)uRC{4!KLQA8xZzKEuHe-SP5j!+S;@oQ*5bQzsRtc-Wm7115< z2p6&Xd#&;$pSPo)&!q^Vg{v5vIjNVS6&+ZPHJs9M!rH(g`x2#gxyJCahC;L28O1Lf zwL1a55{H6%B`$^ZN}QZ~TmjFp!YRDM z6N$hUN{iXB_I|-F`B4OP(`b*@(B?|bLl1k<6*#p#UFATUDuJx73glIst_Gy36399N z>8$}oh#(Q*Q&O5VY{9w3X#gcV&R+RDUL+#bMr zEcG_)12_=65WK+eLCwFIrtU*%Vp`g<4V~Cg2DfXTNnLo4lva3O-&CDka?*Py%W-#C z;@(vSx55WF<6T}9!0yTbrWnAXGDP8dL}A@CB!K*(PzA{9N+5fx0{O5ykh0$47TI0` z*;fOIRJ#EAXg-r)dPx}Y8dHk#U;Q(h6Y{LK== z!%WN5boUvor?b+d+(IAlf)QnZ`&c*BPxwvRh-H%F1j(5h}|)ZyACAcv$$6;Vw?T_mRW2&kcd6(?;mmZkNW$RyWivQpVW)k zK7W6}{r;4{e@5?T@%%!zwy{8gG<~q>`w`M|oGosGoyBH_9A!Nn!-L4MPfxOhvy4)X zQJJE|3tZ(nHm1vBbZS0E1$>In=(3U@w4Uqd=(_aoO}^_=Cs#41Ftq+E#udIo2N#nH zKOs7t=%2+4g8aL`e@%Fp-7;z;JAmWFe1d$U9 a50T`k8G%0$iy#@n#P2$npYt?;v;P2}Ll+AG literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/FamilyTree/Main.class b/out/production/JavaProject/ru/gb/FamilyTree/Main.class index 4913611d7447dffdb259c891fba3af42bf5bac0b..0d42c99bb20271456a5c5b7206ae618b4c80019c 100644 GIT binary patch literal 2384 zcma)7OK?+F82(P1+$|KES| z{onT<0_ebdLDZpMg-?ecia==6xM(DDMqxZLkeM_`9RcN#Rj{1H0`<|@unJ9JgFTZN z&m_8xyp_9r$~MhJ_e|a>lvfQwftBuO?tOQmbhR|=F1X(Xq2mP=D|M_wNTAUR;#hez z(N`Qbaz_lu6sRkX39O6u^z_8~mQhFr(11o2FX~v0H3A!-k;E~xkTq=qU%!!~*Uf#; z)k_7T;w5?ch`^0#Ik0#AA;-1~AEb)Mje}EHIyzh&--fFA`o;xrqY7@z`dnmt2Fzciswlu4uS)PAR-C6e=Z)F3ekErzdiTltCdqqQwz_HF`y3aK10&A2$PR{PK! z$8PL-imyYLryVm-nigls+STPAS;fR4`{=Nnrjcj2_hG+^S9Bb}!6!s~T1P;gk`}oF zom3N|JP)bZu%t{%$058b5STWdF2k9SjBASiR~Mz_YdT&>hk#~evz-%GF8eyo>@UiYvLIbLj(Mka*Kg)Crmdn!AX;0}r5+@z`VmAo>gCd>qaP=j*R*lblnMgz z%Jo^GA=9>uob|qu$(fazsGgD-GwjBojyG|VE?Dbq*+p}81uG*}8Skn`CZ*yOt6h_G zzhSWpzRqHn*{tfb3g(F!dBsyQ4U*M+J%$aY#_!6Z&zZ2M1=iN~LV8QlUEcG$CVH-R z+GE4S4SSpp8kd1NXW6{v*p~%1)%ve`1Q|xT$a$2Se%7sE@StEgMvey>flHhQQpTTW zup(uqXv?g%F&2K1e3F-2dWtKB;~18wN4~l2acv6A&JB}UA^lb+P@rWQ!zH|$9W)Id zy)R|j4b3fH&zm7o-q z{+4-&+a5g3Rl>kZjBwS<3OJ23{0iVK&d~{t>pp;n6@a*~2=z=uAgn%6Lg59h5O)w3 zVxGPCfOTQ@$52o!0~)%zhutp-kbKvP(~8B%=JK+@+SFNf8yLV74r9VO}a zpzUGxnm@GmDI>*0c7)ZBLRv^C6jp!YF2voF9FuB8EU7Iber6tR$-o`7M*?%$8;|(s zkc_v^;qXYCx3=hl@C%Um;4B&t`&4)XKq?kmfN0X^C6_Cc;%qt>J;vJkPb#{w` zc$d36^olJoxT}XL6lA#bG27oU%AKD%myqR7Vb)*sCg=IoKEh3mVVpF3j4v?(3jxM$ V#3U{th#cei7$ML9BKLKe`UfgLe|7)> delta 1024 zcmZ`%$xjn;6#ib9`E?nwrP76>pg;r*7O@DnE-VVDEmcI2#bux)l$0JyG2x&+c~zT< ziAQ5hyqQQ8P{f-T5))4*dhp;M;K`E*kWHq7(d2wqyH8&Idq#J2b{s%Jph?C~G!x4HP9@Ye6suE8dO8@N zoK>f?k;ZKeb>*Op791kj=hbY_Ofr?osA+=hclnlhq;Xi_Fu`BkLVIAS$l1^eqreeP z|0Ca($ta73acyXW(aI@DWrPvoL!{VCaBQEVu*z{6CvcKrR1yh7#lMChv+~iq1$tzh z!fEcKZ5UeYedrfBBjYU2X=Y;wj}y~0(^Kor!km)kwY*xMJpHUL>7Le2z^fEJp-s@X z33#7ksGVTDvGt&Y-BInH!A}t_E>*drFz{~xw!}{-u^rHEOYXin`w9%O;5=Jd$7Wo> zATuj2VyKYIg%)O3fV$TpM$4^Eu`W5BtFY4&oTPo0{Jy{nJTX05?G$euk|;*2NRx%% zPaF-K^l+_HJaNbl>sEEAsM5woeNN92fu>b7F5}=DT1Qt93R`@ZHMB8oe~AvC~26D^jea>qeP&msVcCodi5<3v$|8@XQB;mpx zRNxUjSb-PsIQkyD@ezCQ71j8L8vMXslCY0lsHGazQ8Vf(jQ!MwfPUhM;u&!X!`#1; z8Zd&(eB=mKmpD@nI#Ioy{U}R?T$GE~sV)vaMZ~y=R diff --git a/person.out b/person.out new file mode 100644 index 0000000000000000000000000000000000000000..5d92d254571e688bb5824dc0587caba22e97ef88 GIT binary patch literal 1703 zcma)7%}*0S6n`zHQsf%}MG#{IjEAj~KthTp$VVV4U;@Ddr)hUuhR%LCJ4*{DMh|-P z570!fCgQ<^Cfxlx7!x%y@uFT#JZZcdL*mSAyKL#2c$wY2_j~XCW`6I@JpKXo4uc`) zYWa*diwr`yRv5mV`@F^6p9k_`ZdiZQuf6HzBs6tT2Li!WnF5GC6vL-9;0 zi)~IU^UP`qzTfU1jRKSy^jF|ZnGKxf%ba0k_*nh}5%2Z}F7~GSUeq8~)|pk5)IPo%9Ud?4zNv#)8tSvibufo6?@VN_q>oIc zp;^Zq5xRgK2jvB>BY+d^iJ4EWL8HS_wy?rbRv=ESRY59_8Hx>Ta*^_g% z(Aei&QE0dX@tnmB#OI-r5)&`FMh3Gqv}P%CoV0~>%odS>CDC{qT68QN@=&Ivzie&D z5sCw-Mg#M8ORut6x?6>5Hk4%*Ge`80N>sAN24YWa4!zY)wB&NzEw>Vf95 zG!+@)*mIxbkWg7NNU9$l8BuJTMTtnxmi1cY(#GL%AWE7#z)ZhVWY#L#UCR@ zK*n{2WPrTLklfG<8ZkL$CZZa{IVz?@nuR$)$Z}Svad!+ z`ug8hDzqvUybER;aTFG@Qx(za>Be+oBDUpm35kk53PeeNdk83gJ^&JTfR1y>rCjY` zmSC!@b~tdz@pvFeCLIjPTpuJY{lg)k|KeEHwlYaguSLY{U*J%OY@u9N&7HDJ2hiS6B list; - - @Override - public String toString() { - return - "FamilyTree{" + - "list=" + list + - '}'; - } -} - diff --git a/src/ru/gb/FamilyTree/FamilyTree/FamilyTree.java b/src/ru/gb/FamilyTree/FamilyTree/FamilyTree.java new file mode 100644 index 0000000..3be5218 --- /dev/null +++ b/src/ru/gb/FamilyTree/FamilyTree/FamilyTree.java @@ -0,0 +1,43 @@ +package ru.gb.FamilyTree.FamilyTree; + +import ru.gb.FamilyTree.Human.Human; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +public class FamilyTree implements Serializable { + private List humanList; + + public FamilyTree() { + + this(new ArrayList<>()); + } + + public FamilyTree(List humanList) { + + this.humanList = humanList; + } + + public void addMember(Human human) { + if (!humanList.contains(human)) { + humanList.add(human); + } + } + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder("FamilyTree{"); + for (Human human: humanList) { + sb.append(human.getInfo()).append("\n"); + } + + sb.append('}'); + return sb.toString(); + } + + public void saveToFile() { + + } +} + diff --git a/src/ru/gb/FamilyTree/FileHandler/FileHandler.java b/src/ru/gb/FamilyTree/FileHandler/FileHandler.java new file mode 100644 index 0000000..70a056e --- /dev/null +++ b/src/ru/gb/FamilyTree/FileHandler/FileHandler.java @@ -0,0 +1,28 @@ +package ru.gb.FamilyTree.FileHandler; + +import ru.gb.FamilyTree.FamilyTree.FamilyTree; + +import java.io.*; + +public class FileHandler implements Writeble { + public boolean saveFile(Serializable serializable, String filePath) { + try(ObjectOutputStream objectOutputStream = new ObjectOutputStream + (new FileOutputStream(filePath))) { + objectOutputStream.writeObject(serializable); + return true; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + public Object readFile(String filePath) { + try (ObjectInputStream objectInputStream =new ObjectInputStream + (new FileInputStream(filePath))) { + return objectInputStream.readObject(); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } +} diff --git a/src/ru/gb/FamilyTree/FileHandler/Writeble.java b/src/ru/gb/FamilyTree/FileHandler/Writeble.java new file mode 100644 index 0000000..230bcd8 --- /dev/null +++ b/src/ru/gb/FamilyTree/FileHandler/Writeble.java @@ -0,0 +1,15 @@ +package ru.gb.FamilyTree.FileHandler; + +import ru.gb.FamilyTree.Human.Human; + +import java.io.IOException; +import java.io.InputStream; +import java.io.Serializable; + +public interface Writeble { + + boolean saveFile(Serializable serializable, String filePath); + + Object readFile(String filePath); + +} diff --git a/src/ru/gb/FamilyTree/FileHandler/familytree.txt b/src/ru/gb/FamilyTree/FileHandler/familytree.txt new file mode 100644 index 0000000000000000000000000000000000000000..9828d73d935f5e1d0e705eca83c9cdb4fd5d2caa GIT binary patch literal 995 zcmaJ;&ubGw6n>i@n>54_*NUJl?9@M|Vd9%f4t#J<@GjHDezVChe<|pLa45nGfbn50D z@m+7_Hly_4$NlN})))O(IRlyv6U~lK0^4nK4psXeSt3@4yPk!W*(j8(C$MN@(Y(SK zS;3d6_qF!oGug_5b^~&4_W_MU04OZy5arO>BUa{7$5c4;^26oH%^%-0P_Uu6*mS)H zqrrXXqM>Y~Rp)RrvBF)ST6SxZcvlIhv+A{hjk*o`UBa7`aX4qQj^)&?!@Vsflb{^Z z9U3&S^ZdBZ>#6};{T7m@_xztKs47G< zi(@K4T*X|V?D?ICJ7+G;zbykq;c`JT6uy=6QHXSb8Vg=*zqo zbo|lBkb^!)ed5u-j2+lTxpJi5Dv66dJr{+_h9QSb;<4Bj12GhR4i)iK^yPIsUKN9Q zBQ-Y69zO`=JSwKw-Y-^@@M~)8C*qS@vWE_g@eb0Y>zPv{*%@L}^d-wXg@br4$#6?v+uGL`b_M}IM+~5d{jRKVG>~q;S$1Wgp1K{4q`GE literal 0 HcmV?d00001 diff --git a/src/ru/gb/FamilyTree/Human.java b/src/ru/gb/FamilyTree/Human.java deleted file mode 100644 index 5f9011f..0000000 --- a/src/ru/gb/FamilyTree/Human.java +++ /dev/null @@ -1,94 +0,0 @@ -package ru.gb.FamilyTree; - -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; - -public class Human { - private String name; - private LocalDate dob, dod; - private Gender gender; - private List children; - private Human mother, father; - - public Human(String name, LocalDate dob, LocalDate dod, Gender gender, List children, Human mother, Human father) { - this.name = name; - this.dob = dob; - this.dod = dod; - this.gender = gender; - this.children = children; - this.mother = mother; - this.father = father; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public LocalDate getDob() { - return dob; - } - - public void setDob(LocalDate dob) { - this.dob = dob; - } - - public LocalDate getDod() { - return dod; - } - - public void setDod(LocalDate dod) { - this.dod = dod; - } - - public Gender getGender() { - return gender; - } - - public void setGender(Gender gender) { - this.gender = gender; - } - - public List getChildren() { - return children; - } - - public void setChildren(List children) { - this.children = children; - } - - public Human getMother() { - return mother; - } - - public void setMother(Human mother) { - this.mother = mother; - } - - public Human getFather() { - return father; - } - - public void setFather(Human father) { - this.father = father; - } - - @Override - public String toString() { - return "Human{" + - "name='" + name + '\'' + - ", dob=" + dob + - ", dod=" + dod + - ", gender=" + gender + - ", children=" + children + - ", mother=" + mother + - ", father=" + father + - '}'; - } -} - - diff --git a/src/ru/gb/FamilyTree/Gender.java b/src/ru/gb/FamilyTree/Human/Gender.java similarity index 56% rename from src/ru/gb/FamilyTree/Gender.java rename to src/ru/gb/FamilyTree/Human/Gender.java index f660f31..a57854c 100644 --- a/src/ru/gb/FamilyTree/Gender.java +++ b/src/ru/gb/FamilyTree/Human/Gender.java @@ -1,4 +1,4 @@ -package ru.gb.FamilyTree; +package ru.gb.FamilyTree.Human; public enum Gender { Male, Female; diff --git a/src/ru/gb/FamilyTree/Human/Human.java b/src/ru/gb/FamilyTree/Human/Human.java new file mode 100644 index 0000000..d99be07 --- /dev/null +++ b/src/ru/gb/FamilyTree/Human/Human.java @@ -0,0 +1,130 @@ +package ru.gb.FamilyTree.Human; + +import java.io.Serializable; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +public class Human implements Serializable { + private String name; + private LocalDate dob, dod; + private Gender gender; + private List children; + private Human mother, father; + + public Human(String name, LocalDate dob, LocalDate dod, Gender gender, Human mother, Human father) { + this.name = name; + this.dob = dob; + this.dod = dod; + this.gender = gender; + children = new ArrayList<>(); + this.mother = mother; + this.father = father; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public LocalDate getDob() { + return dob; + } + + public void setDob(LocalDate dob) { + this.dob = dob; + } + + public LocalDate getDod() { + return dod; + } + + public void setDod(LocalDate dod) { + this.dod = dod; + } + + public Gender getGender() { + return gender; + } + + public void setGender(Gender gender) { + this.gender = gender; + } + + public List getChildren() { + return children; + } + + + public boolean addChild(Human child) { + if (!children.contains(child)) { + children.add(child); + return true; + } + return false; + } + + public Human getMother() { + return mother; + } + + public void setMother(Human mother) { + this.mother = mother; + } + + public Human getFather() { + return father; + } + + public void setFather(Human father) { + this.father = father; + } + + public List getParents() { + List list = new ArrayList<>(); + if (father != null) { + list.add(father); + } + if (mother != null) { + list.add(mother); + } + return list; + } + + + public String getInfo() { + StringBuilder sb = new StringBuilder(); + sb.append("Имя- "); + sb.append(getName()); + sb.append(" Дата рождения- "); + sb.append(getDob()); + sb.append(" Дата смерти- "); + sb.append(getDod()); + sb.append(" Пол- "); + sb.append(getGender()); + sb.append(" Дети- "); + sb.append(getChildrenInfo()); + sb.append(" Мать- "); + sb.append(getMother()); + sb.append(" Отец- "); + sb.append(getFather()); + return sb.toString(); + } + + public String getChildrenInfo() { + StringBuilder sb = new StringBuilder(); + for (Human child : children) { + sb.append(child.getInfo()); + } + return sb.toString(); + + } + + +} + + diff --git a/src/ru/gb/FamilyTree/Main.java b/src/ru/gb/FamilyTree/Main.java index b9ca3c4..90d969f 100644 --- a/src/ru/gb/FamilyTree/Main.java +++ b/src/ru/gb/FamilyTree/Main.java @@ -1,43 +1,67 @@ package ru.gb.FamilyTree; +import ru.gb.FamilyTree.FamilyTree.FamilyTree; +import ru.gb.FamilyTree.FileHandler.FileHandler; +import ru.gb.FamilyTree.FileHandler.Writeble; +import ru.gb.FamilyTree.Human.Gender; +import ru.gb.FamilyTree.Human.Human; + +import java.io.*; +import java.nio.file.Watchable; import java.time.LocalDate; -import java.util.ArrayList; -import java.util.Arrays; import java.util.List; public class Main { - public static void main(String[] args) { - - Human human1 = new Human("Дмитрий", LocalDate.of(1981,3,17), - null, Gender.Male, null, null,null); - Human human2 = new Human("Валерия", LocalDate.of(2005, 10, 5), - null,Gender.Female,null, null, human1); - Human human3 = new Human("Алина", LocalDate.of(1980,6,4), - null,Gender.Female, null,null,null); - Human human4 = new Human("Наталья", LocalDate.of(1961,6,1), - null, Gender.Female, null, null, null); - Human human5 = new Human("Александр", LocalDate.of(1956,12,9), - null, Gender.Male, null, null, null); - Human human6 = new Human("Маргарита", LocalDate.of(1932,2,23), - null, Gender.Female, null, null, null); - Human human7 = new Human("Борис", LocalDate.of(1931,8,12), - LocalDate.of(2008,8,16), Gender.Male, null, null, null); - - human1.setChildren(List.of(human2)); + public static void main(String[] args) throws IOException { + Human dmitry = new Human("Дмитрий", LocalDate.of(1981, 3, 17), + null, Gender.Male, null, null); + Human valery = new Human("Валерия", LocalDate.of(2005, 10, 5), + null, Gender.Female, null, null); + Human alina = new Human("Алина", LocalDate.of(1980, 6, 4), + null, Gender.Female, null, null); + Human nataly = new Human("Наталья", LocalDate.of(1961, 6, 1), + null, Gender.Female, null, null); + Human alexandr = new Human("Александр", LocalDate.of(1956, 12, 9), + null, Gender.Male, null, null); + Human margo = new Human("Маргарита", LocalDate.of(1932, 2, 23), + null, Gender.Female, null, null); + Human boris = new Human("Борис", LocalDate.of(1931, 8, 12), + LocalDate.of(2008, 8, 16), Gender.Male, null, null); + String filePath = "C:\\Learning\\JavaProject\\src\\ru\\gb\\FamilyTree\\FileHandler\\familytree.txt"; FamilyTree familyTree = new FamilyTree(); - familyTree.list = new ArrayList<>(); - familyTree.list.add(human1); - familyTree.list.add(human2); - familyTree.list.add(human3); - familyTree.list.add(human4); - familyTree.list.add(human5); - familyTree.list.add(human6); - familyTree.list.add(human7); + System.out.println(familyTree); + + dmitry.setFather(alexandr); + dmitry.addChild(valery); + alina.addChild(valery); + valery.setFather(dmitry); + valery.setMother(alina); + dmitry.setMother(nataly); + nataly.setMother(margo); + nataly.setFather(boris); + nataly.addChild(dmitry); + boris.addChild(nataly); + margo.addChild(nataly); + alexandr.addChild(dmitry); + familyTree.addMember(dmitry); + familyTree.addMember(valery); + familyTree.addMember(alina); + familyTree.addMember(nataly); + familyTree.addMember(margo); + familyTree.addMember(alexandr); + familyTree.addMember(boris); + + FileHandler fileHandler =new FileHandler(); + fileHandler.saveFile(familyTree, filePath); + fileHandler.readFile(filePath); - System.out.println(human1); +// System.out.println(dmitry.getInfo()); +// System.out.println(nataly.getChildrenInfo()); +// System.out.println(valery.getFather()); +// System.out.println(familyTree); } From 0101d215e25278a242dcb40995863c982699eb2b Mon Sep 17 00:00:00 2001 From: Mangoost Date: Tue, 9 Apr 2024 19:45:30 +0300 Subject: [PATCH 4/7] not ready but some works --- familytree.out | Bin 1794 -> 0 bytes .../gb/FamilyTree/FamilyTree/FamilyTree.class | Bin 1731 -> 2745 bytes .../FamilyTree/FileHandler/FileHandler.class | Bin 1778 -> 0 bytes .../gb/FamilyTree/FileHandler/Writeble.class | Bin 251 -> 0 bytes .../gb/FamilyTree/FileHandler/familytree.txt | Bin 1794 -> 0 bytes .../ru/gb/FamilyTree/Human/Human.class | Bin 3843 -> 4700 bytes .../JavaProject/ru/gb/FamilyTree/Main.class | Bin 2384 -> 2178 bytes .../FamilyTreeComporator.class | Bin 0 -> 1173 bytes .../FamilyTreeIterator.class | Bin 0 -> 1213 bytes .../WorkWithFamilyTree/FileHandler.class | Bin 0 -> 1799 bytes .../WorkWithFamilyTree/HumanComporator.class | Bin 0 -> 927 bytes .../WorkWithFamilyTree/Writeble.class | Bin 0 -> 258 bytes .../WorkWithFamilyTree}/familytree.txt | Bin .../JavaProject/ru/gb/study_group/Main.class | Bin 0 -> 930 bytes .../ru/gb/study_group/Service.class | Bin 0 -> 1584 bytes .../ru/gb/study_group/Students.class | Bin 0 -> 1875 bytes .../StudentsComporatorForAge.class | Bin 0 -> 1012 bytes .../ru/gb/study_group/StudentsIterator.class | Bin 0 -> 1163 bytes .../ru/gb/study_group/StudyGroup.class | Bin 0 -> 1796 bytes person.out | Bin 1703 -> 0 bytes .../gb/FamilyTree/FamilyTree/FamilyTree.java | 29 ++++++++- src/ru/gb/FamilyTree/Human/Human.java | 42 +++++++++++-- src/ru/gb/FamilyTree/Main.java | 27 +++++---- .../FamilyTreeComporator.java | 20 +++++++ .../FamilyTreeIterator.java | 28 +++++++++ .../FileHandler.java | 4 +- .../WorkWithFamilyTree/HumanComporator.java | 16 +++++ .../Writeble.java | 6 +- .../WorkWithFamilyTree/familytree.txt | Bin 0 -> 995 bytes src/ru/gb/study_group/Main.java | 19 ++++++ src/ru/gb/study_group/Service.java | 36 ++++++++++++ src/ru/gb/study_group/Students.java | 55 ++++++++++++++++++ .../study_group/StudentsComporatorForAge.java | 14 +++++ src/ru/gb/study_group/StudentsIterator.java | 25 ++++++++ src/ru/gb/study_group/StudyGroup.java | 41 +++++++++++++ 35 files changed, 334 insertions(+), 28 deletions(-) delete mode 100644 familytree.out delete mode 100644 out/production/JavaProject/ru/gb/FamilyTree/FileHandler/FileHandler.class delete mode 100644 out/production/JavaProject/ru/gb/FamilyTree/FileHandler/Writeble.class delete mode 100644 out/production/JavaProject/ru/gb/FamilyTree/FileHandler/familytree.txt create mode 100644 out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporator.class create mode 100644 out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeIterator.class create mode 100644 out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/FileHandler.class create mode 100644 out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/HumanComporator.class create mode 100644 out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/Writeble.class rename {src/ru/gb/FamilyTree/FileHandler => out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree}/familytree.txt (100%) create mode 100644 out/production/JavaProject/ru/gb/study_group/Main.class create mode 100644 out/production/JavaProject/ru/gb/study_group/Service.class create mode 100644 out/production/JavaProject/ru/gb/study_group/Students.class create mode 100644 out/production/JavaProject/ru/gb/study_group/StudentsComporatorForAge.class create mode 100644 out/production/JavaProject/ru/gb/study_group/StudentsIterator.class create mode 100644 out/production/JavaProject/ru/gb/study_group/StudyGroup.class delete mode 100644 person.out create mode 100644 src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporator.java create mode 100644 src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeIterator.java rename src/ru/gb/FamilyTree/{FileHandler => WorkWithFamilyTree}/FileHandler.java (89%) create mode 100644 src/ru/gb/FamilyTree/WorkWithFamilyTree/HumanComporator.java rename src/ru/gb/FamilyTree/{FileHandler => WorkWithFamilyTree}/Writeble.java (56%) create mode 100644 src/ru/gb/FamilyTree/WorkWithFamilyTree/familytree.txt create mode 100644 src/ru/gb/study_group/Main.java create mode 100644 src/ru/gb/study_group/Service.java create mode 100644 src/ru/gb/study_group/Students.java create mode 100644 src/ru/gb/study_group/StudentsComporatorForAge.java create mode 100644 src/ru/gb/study_group/StudentsIterator.java create mode 100644 src/ru/gb/study_group/StudyGroup.java diff --git a/familytree.out b/familytree.out deleted file mode 100644 index f1d0800d29def6eb39f234c6a9a8e0dc54101c0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1794 zcma)7OHUL*5Uzc&vOMG^pa^1&JmO(M5=anYg1`on1xz4#;MBX*yEODX?CD__OpG4% z<`2+BuO{NbgC^X49gK;Zn0QeyCZ052jUlnSXLp!o$HYr-Z`D^{ece^n^Y{nUI1Kuk ztK~CV3K@iMuP}_mx1ajoUw)hT*${K)6ykEdCZbNOC}L@g7GK7UAWC*nhT_>` z7TcUy=HO}(zTfT`jRF)I^pxRCnGKxf%ba0k_*nh}5%2bUFLq6IzoC$0&w{$HIb`Y-Pi3>BaV*B6_utOac@xCk zvNlz14vCJ=h?K_1y$GT{);m z2z|}(iYhdzDtHgf4B{v(Vz(lq&8r*JiHX>@rzIpR{wNS7{VgG&#Q6Y7ya77SA(wJ> zf)v42SM6}VR=IRr)v)B1_^5KIo>h&uA1zG4Vh5!Hn diff --git a/out/production/JavaProject/ru/gb/FamilyTree/FamilyTree/FamilyTree.class b/out/production/JavaProject/ru/gb/FamilyTree/FamilyTree/FamilyTree.class index a614e4b7ec8a99b39e594f302091803d99b0c63a..12a0aaa202d019a8069b960c8d2c9b55826b429a 100644 GIT binary patch literal 2745 zcma)8ZBrXn7(F+HZn7*8X=zJ~*!KofnpP~f4Ymbp1r4+cLaAE2B->=$B#WC(Ejs=X z9ltx{_(5kBL}r|R_D}dfobly6yBo5+sC?PGx%=F6&hwn--kab4`sG&u<9Mzirf~3y z`OM5VJiC$|cU^NeZ`VB?3ULGNIG}J~%&ytq4TZM!;DU|>k{WdR)}e6DZDdQ!**j*{ zuB^_xmbLdQNz(ZijWFZ{s}pezT?#4xTg9xEvUiuCSOqUhnv{W;(4&wnH>ze$)-Z4< zN(T<1SHocgM{rc3YdeWTqTtj#)2`JOdP4~jn%v+60XSyhxU6n7i$x7DD;#O*ne$w` zR+?zom7?V)@QOlbE8EXc=sNmwQmS!k2Sc!sX$r#`17~rLa%|6XP0w)^4yOkr$xMgy zxelZ;sA0%J1{V~1S_w5n6tuEgpS7N|9<+oRq;b(e7MJK*&7VHh#E#~w;Z=qHU4~6b zb+i6c$7Q@`;0i{`QL?=0+G9syJ6M>OqO{z;zhDF&UUMR;6Oo+OK=LBFnZsSc2cMQBG{n*@ypPu% z*V8bqFtV!vi;nwr(e}zMTZ3v$I@J}&H%rG9;$mZ7Xl4}pqTMWUrXNSMHQZGg-492L zu4$}}StMnHy=Pz!^Xz<4J+V4ovV5nf<=cXRMcn7Nf=_GB)1gc{zl*U2AK8+*!D$T- zXsKT&+sV#Zu5DKA&&=hDrQyS7zxmboW%=_Dn=AbJFkgP5iaEPfGrfk(_e+s>mfbqG zTU4aiayN3cWzs2fWq01LS+kAmvgOW;63WOs1+%hXQXPMXlX0(X)60D)%RROoW_6_r zH4-&&Ut$Lrm@UtT8B1g;oZLf3G(CxLFU#Ii82Il>@JN~S%)-+db0y3)R$pe5{p-$A z(Cg+iT7SouV(CGf%$imH7;SES|3GiH);_#YY@|JpNN$?cjOCS`;yt!`)#6D-7ru_D z3(o9ZFtekp!r5&d^}lK&*sX5cW7XbGE}f;%ISsd91qJGE#a)!n$4PFaPPAbOAK)Wi zbuqbVIDX7)F@{Hw>yLLIpC)InGg5IhhBl#=*3q^O?FT<{nNOW7z||c%h=N1~u_(gg zFTv?xgy7ugD6#s`I-rthe*N{sC>-GfJJ5=kt5Ju z;#(OupThPqWa}IH5#5;$9E{;BbcH|qVp!Zsew-!gC-p#tyl;!V4^Qxv&=o?n97p-e zlQ`u1mQ!(lxV?$~rJjLxoX88&22Lx?T-d;Qg)cF{mtln$xICK~Uc<;5Uhm2AvG~p3 zzh_cktl^Et%o=We?-NK(j?n?&6!Sif^EktM=`61D?Itfgsq_i5o@eDmm{jj}C|0Lq zRn$VUU5NdOLmK)ur2in2g0tmphO5L`)v{Ae2Zke7sx2#5wiZg_5|@xPf5v2Meb5e< zpz$shk%3W(Eesy)Txs&lEvX~N9>Lhe6g%tf4ZIUW+jpFe`E3!PT|tVaZlU#Tq47@z zBL!_VL^C!qyCjI~xF@9yaDuGHA{a)95wy-HRKjZ|RCbM{G-^Bjc()}c0GaSXg5GQo yK^O{`{jO5ugsF#;MmP#gawzixi8Z{x6RIFd;8wG=iGZ<=HC;>$M5SKfE{#)MnzbrcX@Mleb>J2_3lRv(H9XN zwZ~|BRF6K0!B@Ok5ZHx)h8fH<@3B{dhZyS^;*9=aUC;IRd2jFquwf#JIxCB>G9KWN zS>jD1eAZoNi8b73SZ?_V$szwDkSsPcs20T>rjb%i3jsQ0l1jleM?@+WM_qXo2?lJi zI!2SxAAIU=^`AJ61Ty@b3F7RSIExdUvg=HZBQh+j*ibahsgByx;nu(s1(#7m9u*X@ zi6XYKqA2s6zr-yhk=&#fk{j4U3+<5HhW3M$jzt}--|QCX1a7jU%p;u>(iBaZB8>)e OYZJbTv9IR}cJT))MlXy2 diff --git a/out/production/JavaProject/ru/gb/FamilyTree/FileHandler/FileHandler.class b/out/production/JavaProject/ru/gb/FamilyTree/FileHandler/FileHandler.class deleted file mode 100644 index 1c3c239f29aec7b866d92d43e24b41ebfadf7543..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1778 zcmaJ?O;a035Pc)9SXdS#+metB=EE2wK7<@caS}wF4+ml=LQWMFDRNt+4Xh(1)oNuY z`9r?=;9O8usEY6TNjZePncbC!s+13!nVo*q{rXK$>+gU6{0qQWs9Q)NX~M9P!k9q% zh4a!Wx19EA`T5BUw-E@8?Raf3cr1`Ct{s^e7r3K9UMGS)?+4v}a1i*eb8f;C$jA0Q zujT4i3lp$qq$z=Hu{Mgu!(RKex^`s2#I!`D1qu;D2GT-As9QE}BO@^R%J%{{CVS0m zxEbMdHfCgosYa{Qb4?TkZjT5Yp81_u&PmI)kjJczIouVPa+=M9ez)tpy`I}-UOMIB z3Hmp&aLwE9uMM{wc%8O|c`VtuCj(D+nImO#8owO+PJI?=60mqf%~+{SaZS5`NGjii|Pku+6MsVi!1lDWs^{(-%3XJ!hm#*9r*cjE%flJ3N?|13Es-+#*-A`oDQT47@ zn!sF${ohh&Fu^EU&E4?cX|sD;Oo80c(={$6{4>e^-~?w zKqjsV-Ia-NuRY(;0sYHM4+UA(>o-naiy0Mxz|Bw#t&#+0hY5r*&B$!6gHGRXM8c=F zE7_7r`87$e{hk&#~h^@>;;cF+93d+;8T7He1>g~ zJS_6c5m3E^d3=e9Bn-|!qb10YIs_8W*sZ_zB zKBafkx+vZ%d9s*gusJNUJxF;9>?iZwE2%k@=N|b18K#}1JTt`Ph{zBzgDswV$Q^l` z>&oL@e24GJdy6+MrAbJBLuo2X5TOLwk%G+1|0pI%HI^ea_@6c0ils2Gm~tZAj&-Qf Ia{~MS0i;NcCIA2c diff --git a/out/production/JavaProject/ru/gb/FamilyTree/FileHandler/Writeble.class b/out/production/JavaProject/ru/gb/FamilyTree/FileHandler/Writeble.class deleted file mode 100644 index 9b51e01c8cc1a894e97b5ea0ac5cf49e7513bfcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmY+&NA0;KW5L-cy=E4JbC^7vJbUQB} zGkLuqPXKF-9CQSxrj$u2H*{9|b}-Cxqcm?Ri!~d0G^*fGvxA<%B&91!O<5xMVaib< z;9ls;6%bg?clBN6GGL=ft2<+W+n0V>!t@`S#ue+*x9{+$Ehrs}I zwR}cPA%oDJRfci+_S3-o%Wo4u8=??NLvq74keMb9=g^YgMB8ZC<%AAP%Vg0OtnJdM zNuxH+7}}AZ;>{1ecVDCXF^DWc+#$QTXam5pLR_xbMAR7-MJ#Q};wzXDM9D77P&`-6 zVw)4o99k>F_uHLgQGgLsI^f2;zp=i(m$Qs)f{NXU3wk b?Zv=5=jIHXt54AGe%I5fhY!A}*Q@v!S%fWx diff --git a/out/production/JavaProject/ru/gb/FamilyTree/Human/Human.class b/out/production/JavaProject/ru/gb/FamilyTree/Human/Human.class index c646c453bb4a2e81827465ea53a6ea481417eb53..3e044eeaf170da865e4f80ce3b36a44d1685fd28 100644 GIT binary patch literal 4700 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 a50T`k8G%0$iy#@n#P2$npYt?;v;P2}Ll+AG diff --git a/out/production/JavaProject/ru/gb/FamilyTree/Main.class b/out/production/JavaProject/ru/gb/FamilyTree/Main.class index 0d42c99bb20271456a5c5b7206ae618b4c80019c..8151e55d73fe8f7985308b0ba9f5d628405edfb6 100644 GIT binary patch delta 708 zcmXw$J5Uo*6o$XMNp{V$!zemTR!1ElD7XnB8+-&`5CsGbii%MbHIL;XgK;2*Hlmic z+c_M$T>C@5?gO{0~SjTTmRcFr)KO|;nm|L-~Xocr%NpWB{qGe2#vtpfurteS5% z)5IWY(L>4~4)yA3i(ZcU&qC>m;}$1KDWc0>HCL(5c}pe^eHJGh(L%YL^A?NE=xK{H zoDJ?)ma5su1GAnY)Y&x>m3OiR=Pb@M=x=E0mSHX!j982^=0`$(F^8PRIJ&}Y){Ykz zJ%h{d{qVGEH3uJ+yoc5K%7bNtIX|Pj+b^MseFPN|bioP#iQb;RBC+5EEnF3}8al!? zCgl|6I(ey?kirGFV1g?78+v`ku_HCQop=p5pJ-s*kw83A+5Go)Y5~J6UBH>+I$Od#JOIFLM7Y2l&Q8zSF@^4)Ke_{HBvXbSaG^ zN>-`bh%0-AgxX8D>L95cdXy{6&ETqj(rQ>%nxkJ$GN7i&sv<*;(ato-#|>_ZFjQ)-9cybTSgKJIf??^l zJ6CR9n207N(S#V|N;Vo-u3Wj%g)4W)cuPsZor^i={P*5D_x^WgaofjQ{llNvD?k@_ zmh=~{Eq*KxX|x%HiIf)Ikw6EBHI5h@rL*+b9j(!b864wy>AkDnchcY#U8O&+$U?Wl z8ICLbb53z^rg+OK=mhCCIJ*|LQ>j5`I_VTN`V>utyH+}B_1e>!+=J1A<5<0!oD;Y6 zshm^TtaakJD==U%$azK0oPE!!6f1&F16li?ZDnSx5ofZHv2&S+b~5M0s^OfSPg^6! zLMES%9lTcYxL|ORVeu$9cB<;pu^MJT`($c8{RKi%;;9oGf7_>}_5~Ev=<53s%ywm4u*CE#L}Q z<>coY*TqC$cFj{m0MzYLz_+^al2+4SrafqS%S3}MWlkhQYuFN$Kuf61>7eNmG(D!T zN}420kEBl|Os$d=_N}wG8uknIn0_%56c52lL50MmLefrX!4$KeH^i?lb1tfzx@2m~ z^e03K4<$Bk_n3WhlWmyP$*;Gaes!wU7hV=t>x`KYkiTn01MFgKWxwTD$FlcHSot9oovZXD$!Das?`{$NU!SBCyXS4yN$=6)`B mnLv~2pK+74e4|yKa*GUpXfgc5Ph>r>n0>Lq@_?kTR=1^6&74Tq^ep~suU?erBv;Cldh6&ow!n|I zgacea;($2wqY$&Uk*(T?RF-FUc4ywanVtRf_vbGFdw5cXK*>S5hB?d=8fWsObUis8 zx$g&OY8VjaxAjy9JA_iJee7U?@YICvXy6{miS|An8KsJsRa9}!L9K>5t`lD8qE38s zexieMA<(`*x$un)d_!=CY)GRB{Z=mrQyAWv)vw)k&>$>Fg@=LmT$@=&nH@9<&9o)m zKp8pkm`8cvKV`Mp(^K^>oD7sXiVvDSe<;0UX|%PI&2li-9|&*qoMvo6hamhHgqf?i z{x1m&+A@xMxYBC((i)>mc%OkQeLb4WAhhk>Ep*z>^DgfB4#RD<;xw5V>g0FYU7oeK zDj55xhurIlVxHWg&w0-b>GWc*z$kFO{n($&)3ci!HKGhNTVOWnE$|N?)wZ zMAoCowfHoNv>vyy8lef?;g#U^UEE`B(YDyKSp|K)gx1XP5DD7-$mc<0kNG@I5MFUU o%cs8i>^Gb({=cJgnOe4}dIGk_K@|ZsSo1Fsqp#x;ZwNg82b;_zKL7v# literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeIterator.class b/out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeIterator.class new file mode 100644 index 0000000000000000000000000000000000000000..7be59ddee8239f93c50f2dd9a0d21d41b7c69bb9 GIT binary patch literal 1213 zcma)5T~8BH5IuLhWog+0(o(9TqN27%SrlVTN{DDeY^?YI0p-ctvX%>FOSW4B{v2O? z@j(;O;DhnmA7woI0hBfY)9jr)voq(Mna=+C`|}ro1w2ebL(G6~B91%_&ED^8&GaVKsq%Bn%`?48Rn4`7DDbhA=D;SI&mLCm_lL7(v=V#>6PH0)wZE z1oW2rUb(E->EH#Pjx!bgbY^Qp!~m*Dyf>$KE5< zM7~fttAwaG1V&EeowS`;R&_^uZI?P{y1Je_8+5)Tkj{72lnSeq^{lx;yrGJ6?4|Zj z)pl28wZX_prCF1WRp~0y%}ov}D>(Z5aaHLXUQEdGEfP94DbN-u^xJO^n(3>_&X=;i5U z!)z2#q{q65Wr}y7EsRVa^WNp{9;SKvY%f^t=VXiDkm6$;;)1|O82TsZvCn)HGWP{p z>3}gr%|?tCbK=l4Px!6*`_9t`e#)Q^oby48Z-~CGzdbcvK7{NwJ?nt8?(42Fy=HGd%aG_ce`D;!Mb$F zgAO|YC9K;hVne{<4K-q>vV|4x0wStp$Vn6T1xkLebaGtU zan8KvZ~MOMmJZwgt3xk1)l?GIGpE&Py1t3e1=c_2(4o99GA&>{ZZ{~#t6s~k_0Eo6 ze_vjKz(loOcbW%|@5%2-X#}TUSKxm2W0GjdDgvWj=d~+U0&Byj+H)Dd>HRKqR5UK) zX8f5z+UgPL?I$oB`u=bKGnrtPoEC1-47Ax@EvLZbAkq~q1pEuZ{^SIwl8a%NM#$Ki zs*QG?j^f6|wm>#+6+M)Rr&r!|7=ZC*CxnD7>rEY(uH}q6L*RPIh1OmIGlK#`H_gau zt-W^7uSdjZv@6+=Sh0wE96kb{aS|mdIe@s9`BkD6l&RG|#2?%w@C8?CrVcwiLIk;@tHHr3`W?9Ei($fwS6 zGjDvT(YTO&2Ll-nf_eTH`P2%O;7lm^*O?nB?vZj=}wN-zxxVNFpJ2s}^AWIM1QW}G$gKl$Pd z8Xt_${3zp{-6n0i2|modbMM@9=FHrC_4n6r06lmPEL3b%UDPng&^+f~xF7K(^gj&F z#ZWWM?Z`yxU51L+IdL$Lx(&z04Y&-eD)YmEzt3YCeLYq}_y<|clfn`-6uK9R92z*d zi3J-?7mHY8Se)DxBwB<*G1$X2{=^jlYF-d@2-3nW8@CN)g<-pN+i9vUPNg2r3fLo_ zRB@dW>07T~!cD2{UVqvNY}{pNkDNjWO{P V0@W>`NuHL4r?j!~49|1F{tpWe)zAO{ literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/Writeble.class b/out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/Writeble.class new file mode 100644 index 0000000000000000000000000000000000000000..a710f346127c0d065f394e7fd5440b88f10111cb GIT binary patch literal 258 zcmY+9%?g4*6ot>&k7fitMHEHz0Iu4&3R)Nl?MA!U*rYJ2P>P%@7#}b z?&te@1K43|!(!Ozk|z=O#Z9WmQ4{en*Vj-Mmp;<6ph%I8A;UZsmEcNb2|q+B#RY?N z7Zv$Z5yN`9Z*rOQfV31!K7}#8mNr&UXqhG6>SRPs;@pahPW(IRS#6ic;0AfAzILIV7>z^vvh

cuu3Ll`DChx-FFm`A1n literal 0 HcmV?d00001 diff --git a/src/ru/gb/FamilyTree/FileHandler/familytree.txt b/out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/familytree.txt similarity index 100% rename from src/ru/gb/FamilyTree/FileHandler/familytree.txt rename to out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/familytree.txt diff --git a/out/production/JavaProject/ru/gb/study_group/Main.class b/out/production/JavaProject/ru/gb/study_group/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..b1b2e49dcfa1858fd6498a8c12219f8f8a7b2950 GIT binary patch literal 930 zcmZuwZEw<06n^e_X{nubz>qn0o3CZ)s`FjulFh_yN!d(TYK$Mu1+KLVv`bqS`C0k_ z5>5O8{wU+Qg@h33hkN>*x92(MwtxTq`UBtqZ#66-r68>%gDit_&M&#u<-Tj3w$4R6 zX2|Y&z8CK^q|Bn~49Th87*x=t)6zSzmbX2S|q#HaOsJO0j9UgiTPn_xan-?)u?8WWs z)UTJcEt{X`XRkUG=b=j-iVMOtcQn3whV=yulkb8^v}Vu`+v2?^h34cSJ93ZM!VZ0c z@>v4iFtT($CS;LiWHZ|%updeI37s+wq_9h;K2E?>JR_9DbG#srEFMvYZ2Ivxlusk% z>{>xHibLqNf?<>rTQF7A=8Fa%HdfOx^ rCNvVF;|-RvPk+D>@~|nxK_QV|9?Qc^yrOy)r+7`da^gDSCG7nNE+Wan literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/study_group/Service.class b/out/production/JavaProject/ru/gb/study_group/Service.class new file mode 100644 index 0000000000000000000000000000000000000000..c50bf136fba5e7309f03054a97184d68bf1d503e GIT binary patch literal 1584 zcmZ`(YfsZ)6n@@q&{4{mLm9Wh23~d%=N+Xe0xC|&P-igsMZ2xe>gY(@8Tl#x0^>JL z6rv=?&;AO3hl!VS+9CooOV;;2J?A;kb1wb%>+=@?b9f*lfS`nsf(~>FM4xLfwR}S} z>-pu%bG_;abj}#2;an96rZX!N!U7{!D_^hVZKqY+cwD!dt@V7F&x?GNAtBg>ZYUCZ z6hzP~FxVzQw_X}mU7*7S5Ew1Car%p@N;o7i)ZRrm9h)=uDL9NH45^!int&+Ch$7C? z1_a{i;;y)|V;N>$Efg{$*u?C)=>g93bq2tIYX?f;2J$VZ+fa&1qT! z{b@g>2n7l^r(_qYg1&osNFzarVx=0_ZHM!{K}69}2E`S1?* zKf^&h61c!pF78v{4UhVN1z}vG2D!DER-j^rgg8yFEdqO!`ORX{R~5|ioXU37a^^Qm z+M3ShIR*1ssfXqLfu-xzY98MeT1 zyOw*Ss&ah~bVQ{I;u;YVM&3US6cp5$jl|pHj@3xJ6y8gl+iqf+Kv^eOb z{{_0uBS-bW^+-+{7Z?sG7Lt?&D8Pd*~Hn;_-}MEDDWe%j+C4!KFP9+01eAW^_= zH*pGgNK$|z`cTA@E1`rLpTb*u!xUz>ksvi=#at}8iSdWbVH3xfPJTjG;58C-I4$rM z(Nd1Moqw2%O|jpb-`{haxcrVFg5U~_(%^xr7^b95F^f1(V*pba#59InvPtsIqQ|F0 z$$i>k@><4SqIQokA_)9MTtY%Z?gz%nN<;3`zDQ5*MA+kbWw${5>GoKR{Zsw$-|Evw Vw8yx%A7h-9Oti(gPZpJsm_nMg_yV{sO>;5O5DM+K4oO8s)lbzLubhpHjh1z# zD(X+@Kk0{5Dvp#$Q9k!aRejIw61&DmEA7mjo%5b&&p9*y{QLSXfNlJkfq|HbxP=6g z3fbq*uTG`qw40U3_2=$Uppe|~+Fr1w5Gxc9(?}t0B4gnLSPFA~x6-UvPJ?daw_lom zr+ZR4;M{EorwZ}5bL=YQYJJUv!1vnCs;FGCFo~>!;WZSLEvB4>t73{dP1nRVh1p@x zhh4ALaQzf!71HOCUSu$h>+%D03fBr3!xaxx$n!^pXLDJ0e`H}1OEftrCvKYntE1d5 zC`I9`BJr_E+*HUHc8X&+rtpbEVr9u|Y>Lma_!Pv)zRagYu$3hyK|8HjSjCz`D(Hmi zQN(AmGEEa0xt6MGFChn1> zU!ff>?$leX`Rs^v+II1fO|jEyaKmKHYrFg1m z^T1R;a)W1`#uLXUMBw@)P9J#9wi9%H2H6{sjl2dd{j_ad_Lo~#h0H;x>mRv$o}_r< zy#3dt1h~P<8Bn;37)KsX9&bZVm>zkoIA-`gf%|+{xoYuyoa1!q6;!Ew2D6ku!$fJ} z3{!t;uMNIu=mBcSk>-=Z6>49l`X;TV&>vg)nky>lxJu6?vY}@ZJI0s~uogwGaFkt% z(%&#&a$-P2CAD!m^@*gs%PUHXp literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/study_group/StudentsComporatorForAge.class b/out/production/JavaProject/ru/gb/study_group/StudentsComporatorForAge.class new file mode 100644 index 0000000000000000000000000000000000000000..9598050194b77a61750943d6805efb233811eaae GIT binary patch literal 1012 zcmb7CT~8B16g{)FY+JWd5JeHRe$tl4jlTF$LQ+YZtf@#+!>gILlVwS}ONLn!{*y1h zpz*=@?2j^@+15ZxX!K$3oqOk=GiUDHU%$Wq0MJIg1P2Q)avt(n6sR1_PtqUBIP~B5 zkJZ2kEbc^cWOfA>YW2es3MjfLdAI>jU|pwv*!NFOIz0Or>Lfk!d)%wooDvu+(+*Vz z3`)3(B^MPB%UBUuzPKldjS7_(a0kiwL}~)^wIHYyvWnX-?pVm0K;!zm_6SV0G>Psc zI=iw}>t0{pns-(YT-*~_%>QJNx)y(o;ONp1f-S5cG9Oh0z!iQJ{kQZGsMKy@P9qRqdfG5h8hRy7{+ zyB!GJ%1)BPqMFyee+jn;zS+5xu}+vjkb zT;EXs%=j`#A>*h{>M-H3oDWgWcs+`%X5t?I7q9nkyp=ZfJ|Vx=`nW;M$?kFCu4Relf( zN_^OfoU6@h#P!uv+dZR=;ABkG7Aq0w18MAE72baV1htg}ZX0Vni**iU#*2 zq2%xLTaq2kw*)_6QiA6swEB|tP4)F2CigL`;1|w+=9&^7DnieWpywiVc8$E-G0)&A adCBTGTpTY>jT9$iUrKz>%eWIt-TezuB>fNo literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/study_group/StudyGroup.class b/out/production/JavaProject/ru/gb/study_group/StudyGroup.class new file mode 100644 index 0000000000000000000000000000000000000000..6a2fdc1bb18552dd33c0beeeb3892d7f0b91fa38 GIT binary patch literal 1796 zcmai!`%lwQ6vw}}Lpn-%jkmlJbZo+WAd2PT7=q{obp(RHn2t5GWUQp?Oo;J+(nLWd z@elBiGM>{GRwjci+wN`8`J8jU=iK|}@2}qglGs!rAta+t#SPR8wC?Gj^h7}~<`Wy) zJ!97qsGl>7rn4XricW0F2n)2kMrFq=B$BqRAEwQcqd-Qe0gX^)G^uDti$K3!PUN$R zl2gtde#qNa`5=+u^(rp~RDNL;of7*~=yV0kPqap~AtIw)MF%CIOSoEIU>*-gtE2nT5F8HCD84rG_a7r)dVFsjCfVR6NELfv{tF@dY}f|GQ{1o(hcC?#G&AxcVxX#T?7kCxeDI zQjyuU$QBHNhK!jn>Q33F^;Ff^&82I{&=xeBnUs|yzm~LFG}g=eS;OAcU1}t4?dpXs z-8OmeKdf^;nlxyGHK^WMAgV&c%uT1!5*UisFz3Oeh6~7kw@KiuOo_`AzI3>*?{nSW zhNe|ODrIR#Yxa;DV)}{-be%QCJs@XFQ`Xa$zPMJx_}ngUPG`gAQu$yjB3*H|&R zr!AEuGsQi}2wg@J1m@{0@r6YHi*)Hpc!qjf(|t$3NqVw`5UqgL*fB)x6!Ok78h$|e z=2|b&Z!=kdcy&;T(}Wc5RL=*?cuqTk6|DNaWr`uOMeIA2_z7AiY*$!(<5Dc5wYi)w z&(`NK_XXC7B=GV)!x?uEgqipgUDdP>x_vtXS%uHDdUeiN^s8)R#wq%#$iWi~NvMYP zP;$KiSlc;_4ys>bj$mBI*eOPLB4fw6osLH)ju2<~5fa<+)-OkRupK|bqpxHqk;p)V z1Ox`4U=TeRqR((Zf-ygiLicAHuicW@u|dAvq!~Yb^%S!^9OW2Vh0Lu4#sgWaKFw?S P8=`otw|GaE5;Fe)I;y07 literal 0 HcmV?d00001 diff --git a/person.out b/person.out deleted file mode 100644 index 5d92d254571e688bb5824dc0587caba22e97ef88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1703 zcma)7%}*0S6n`zHQsf%}MG#{IjEAj~KthTp$VVV4U;@Ddr)hUuhR%LCJ4*{DMh|-P z570!fCgQ<^Cfxlx7!x%y@uFT#JZZcdL*mSAyKL#2c$wY2_j~XCW`6I@JpKXo4uc`) zYWa*diwr`yRv5mV`@F^6p9k_`ZdiZQuf6HzBs6tT2Li!WnF5GC6vL-9;0 zi)~IU^UP`qzTfU1jRKSy^jF|ZnGKxf%ba0k_*nh}5%2Z}F7~GSUeq8~)|pk5)IPo%9Ud?4zNv#)8tSvibufo6?@VN_q>oIc zp;^Zq5xRgK2jvB>BY+d^iJ4EWL8HS_wy?rbRv=ESRY59_8Hx>Ta*^_g% z(Aei&QE0dX@tnmB#OI-r5)&`FMh3Gqv}P%CoV0~>%odS>CDC{qT68QN@=&Ivzie&D z5sCw-Mg#M8ORut6x?6>5Hk4%*Ge`80N>sAN24YWa4!zY)wB&NzEw>Vf95 zG!+@)*mIxbkWg7NNU9$l8BuJTMTtnxmi1cY(#GL%AWE7#z)ZhVWY#L#UCR@ zK*n{2WPrTLklfG<8ZkL$CZZa{IVz?@nuR$)$Z}Svad!+ z`ug8hDzqvUybER;aTFG@Qx(za>Be+oBDUpm35kk53PeeNdk83gJ^&JTfR1y>rCjY` zmSC!@b~tdz@pvFeCLIjPTpuJY{lg)k|KeEHwlYaguSLY{U*J%OY@u9N&7HDJ2hiS6B { private List humanList; public FamilyTree() { @@ -27,8 +31,8 @@ public void addMember(Human human) { @Override public String toString() { - final StringBuilder sb = new StringBuilder("FamilyTree{"); - for (Human human: humanList) { + final StringBuilder sb = new StringBuilder("FamilyTree{ \n"); + for (Human human : humanList) { sb.append(human.getInfo()).append("\n"); } @@ -39,5 +43,24 @@ public String toString() { public void saveToFile() { } + + public void sortByName() { + Collections.sort(humanList); + } + + + public int sortByAge() { + humanList.sort(new HumanComporator()); + return 0; + } + + + @Override + public Iterator iterator() { + return new FamilyTreeIterator(humanList); + } + + + } diff --git a/src/ru/gb/FamilyTree/Human/Human.java b/src/ru/gb/FamilyTree/Human/Human.java index d99be07..73cd11b 100644 --- a/src/ru/gb/FamilyTree/Human/Human.java +++ b/src/ru/gb/FamilyTree/Human/Human.java @@ -1,12 +1,10 @@ package ru.gb.FamilyTree.Human; -import java.io.Serializable; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; -import java.util.Objects; -public class Human implements Serializable { +public class Human implements Comparable { private String name; private LocalDate dob, dod; private Gender gender; @@ -22,6 +20,14 @@ public Human(String name, LocalDate dob, LocalDate dod, Gender gender, Human mot this.mother = mother; this.father = father; } + public int getAge() { + if(dod != null) { + return dod.getYear() - dob.getYear(); + } + else { + return LocalDate.now().getYear() - dob.getYear(); + } + } public String getName() { return name; @@ -109,9 +115,9 @@ public String getInfo() { sb.append(" Дети- "); sb.append(getChildrenInfo()); sb.append(" Мать- "); - sb.append(getMother()); + sb.append(getGlobalInfo(mother)); sb.append(" Отец- "); - sb.append(getFather()); + sb.append(getGlobalInfo(father)); return sb.toString(); } @@ -124,6 +130,32 @@ public String getChildrenInfo() { } +// public String getMotherInfo() { +// StringBuilder sb = new StringBuilder(); +// if(mother != null) { +// sb.append(mother.getName()).append(" ").append(mother.getDob()); +// return sb.toString(); +// } +// return null; +// } + + public String getGlobalInfo(Human field) { + StringBuilder sb = new StringBuilder(); + if(field != null) { + sb.append(field.getName()).append(" ").append(field.getDob()); + return sb.toString(); + } + return "Данные отсутствуют "; + } + + + @Override + public int compareTo(Human o) { + return name.compareTo(o.name); + } + + + } diff --git a/src/ru/gb/FamilyTree/Main.java b/src/ru/gb/FamilyTree/Main.java index 90d969f..d763c86 100644 --- a/src/ru/gb/FamilyTree/Main.java +++ b/src/ru/gb/FamilyTree/Main.java @@ -1,15 +1,12 @@ package ru.gb.FamilyTree; import ru.gb.FamilyTree.FamilyTree.FamilyTree; -import ru.gb.FamilyTree.FileHandler.FileHandler; -import ru.gb.FamilyTree.FileHandler.Writeble; import ru.gb.FamilyTree.Human.Gender; import ru.gb.FamilyTree.Human.Human; +import ru.gb.FamilyTree.WorkWithFamilyTree.HumanComporator; import java.io.*; -import java.nio.file.Watchable; import java.time.LocalDate; -import java.util.List; public class Main { public static void main(String[] args) throws IOException { @@ -31,7 +28,7 @@ public static void main(String[] args) throws IOException { String filePath = "C:\\Learning\\JavaProject\\src\\ru\\gb\\FamilyTree\\FileHandler\\familytree.txt"; FamilyTree familyTree = new FamilyTree(); - System.out.println(familyTree); + dmitry.setFather(alexandr); dmitry.addChild(valery); @@ -53,15 +50,21 @@ public static void main(String[] args) throws IOException { familyTree.addMember(alexandr); familyTree.addMember(boris); - FileHandler fileHandler =new FileHandler(); - fileHandler.saveFile(familyTree, filePath); - fileHandler.readFile(filePath); +// System.out.println(nataly.getAge()); +// System.out.println(dmitry.getGlobalInfo(dmitry.getMother())); + + +// for (Human o : familyTree) { +// System.out.println(o.getDob() + " " + o.getName()); +// } + + + familyTree.sortByAge(); + System.out.println(familyTree); + familyTree.sortByName(); + System.out.println(familyTree); -// System.out.println(dmitry.getInfo()); -// System.out.println(nataly.getChildrenInfo()); -// System.out.println(valery.getFather()); -// System.out.println(familyTree); } diff --git a/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporator.java b/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporator.java new file mode 100644 index 0000000..a6f349b --- /dev/null +++ b/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporator.java @@ -0,0 +1,20 @@ +package ru.gb.FamilyTree.WorkWithFamilyTree; + +import ru.gb.FamilyTree.FamilyTree.FamilyTree; +import ru.gb.FamilyTree.Human.Human; + +import java.util.Comparator; +import java.util.Iterator; + +public class FamilyTreeComporator implements Comparator, Iterable{ + + @Override + public int compare(FamilyTree o1, FamilyTree o2) { + return 0; + } + + @Override + public Iterator iterator() { + return null; + } +} diff --git a/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeIterator.java b/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeIterator.java new file mode 100644 index 0000000..14d33e4 --- /dev/null +++ b/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeIterator.java @@ -0,0 +1,28 @@ +package ru.gb.FamilyTree.WorkWithFamilyTree; + +import ru.gb.FamilyTree.Human.Human; + +import java.util.Iterator; +import java.util.List; + +public class FamilyTreeIterator implements Iterator { + private List familyTree; + private int index; + + public FamilyTreeIterator(List familyTree) { + this.familyTree = familyTree; + } + + + @Override + public boolean hasNext() { + return index < familyTree.size(); + } + + @Override + public Human next() { + return familyTree.get(index++); + } + + +} diff --git a/src/ru/gb/FamilyTree/FileHandler/FileHandler.java b/src/ru/gb/FamilyTree/WorkWithFamilyTree/FileHandler.java similarity index 89% rename from src/ru/gb/FamilyTree/FileHandler/FileHandler.java rename to src/ru/gb/FamilyTree/WorkWithFamilyTree/FileHandler.java index 70a056e..b43a3b6 100644 --- a/src/ru/gb/FamilyTree/FileHandler/FileHandler.java +++ b/src/ru/gb/FamilyTree/WorkWithFamilyTree/FileHandler.java @@ -1,6 +1,4 @@ -package ru.gb.FamilyTree.FileHandler; - -import ru.gb.FamilyTree.FamilyTree.FamilyTree; +package ru.gb.FamilyTree.WorkWithFamilyTree; import java.io.*; diff --git a/src/ru/gb/FamilyTree/WorkWithFamilyTree/HumanComporator.java b/src/ru/gb/FamilyTree/WorkWithFamilyTree/HumanComporator.java new file mode 100644 index 0000000..0a12dbe --- /dev/null +++ b/src/ru/gb/FamilyTree/WorkWithFamilyTree/HumanComporator.java @@ -0,0 +1,16 @@ +package ru.gb.FamilyTree.WorkWithFamilyTree; + +import ru.gb.FamilyTree.Human.Human; + +import java.util.Comparator; + +public class HumanComporator implements Comparator { + + + @Override + public int compare(Human o1, Human o2) { + return Integer.compare(o1.getAge(), o2.getAge()); + } + + +} diff --git a/src/ru/gb/FamilyTree/FileHandler/Writeble.java b/src/ru/gb/FamilyTree/WorkWithFamilyTree/Writeble.java similarity index 56% rename from src/ru/gb/FamilyTree/FileHandler/Writeble.java rename to src/ru/gb/FamilyTree/WorkWithFamilyTree/Writeble.java index 230bcd8..234e01f 100644 --- a/src/ru/gb/FamilyTree/FileHandler/Writeble.java +++ b/src/ru/gb/FamilyTree/WorkWithFamilyTree/Writeble.java @@ -1,9 +1,5 @@ -package ru.gb.FamilyTree.FileHandler; +package ru.gb.FamilyTree.WorkWithFamilyTree; -import ru.gb.FamilyTree.Human.Human; - -import java.io.IOException; -import java.io.InputStream; import java.io.Serializable; public interface Writeble { diff --git a/src/ru/gb/FamilyTree/WorkWithFamilyTree/familytree.txt b/src/ru/gb/FamilyTree/WorkWithFamilyTree/familytree.txt new file mode 100644 index 0000000000000000000000000000000000000000..9828d73d935f5e1d0e705eca83c9cdb4fd5d2caa GIT binary patch literal 995 zcmaJ;&ubGw6n>i@n>54_*NUJl?9@M|Vd9%f4t#J<@GjHDezVChe<|pLa45nGfbn50D z@m+7_Hly_4$NlN})))O(IRlyv6U~lK0^4nK4psXeSt3@4yPk!W*(j8(C$MN@(Y(SK zS;3d6_qF!oGug_5b^~&4_W_MU04OZy5arO>BUa{7$5c4;^26oH%^%-0P_Uu6*mS)H zqrrXXqM>Y~Rp)RrvBF)ST6SxZcvlIhv+A{hjk*o`UBa7`aX4qQj^)&?!@Vsflb{^Z z9U3&S^ZdBZ>#6};{T7m@_xztKs47G< zi(@K4T*X|V?D?ICJ7+G;zbykq;c`JT6uy=6QHXSb8Vg=*zqo zbo|lBkb^!)ed5u-j2+lTxpJi5Dv66dJr{+_h9QSb;<4Bj12GhR4i)iK^yPIsUKN9Q zBQ-Y69zO`=JSwKw-Y-^@@M~)8C*qS@vWE_g@eb0Y>zPv{*%@L}^d-wXg@br4$#6?v+uGL`b_M}IM+~5d{jRKVG>~q;S$1Wgp1K{4q`GE literal 0 HcmV?d00001 diff --git a/src/ru/gb/study_group/Main.java b/src/ru/gb/study_group/Main.java new file mode 100644 index 0000000..c4e8367 --- /dev/null +++ b/src/ru/gb/study_group/Main.java @@ -0,0 +1,19 @@ +package ru.gb.study_group; + +public class Main { + public static void main(String[] args) { + Service service = new Service(); + service.addStudent("Bob", 19); + service.addStudent("Max", 20); + service.addStudent("Ted", 17); + service.addStudent("Mary", 20); + service.addStudent("Helen", 19); + + System.out.println(service.getStudentsInfo()); + service.sortByName(); + System.out.println(service.getStudentsInfo()); + service.sortByAge(); + System.out.println(service.getStudentsInfo()); + + } +} diff --git a/src/ru/gb/study_group/Service.java b/src/ru/gb/study_group/Service.java new file mode 100644 index 0000000..7333632 --- /dev/null +++ b/src/ru/gb/study_group/Service.java @@ -0,0 +1,36 @@ +package ru.gb.study_group; + +import java.util.Collections; + +public class Service { + private int genId; + private StudyGroup group; + + public Service() { + group = new StudyGroup(); + } + + public void addStudent(String name, int age) { + Students student = new Students(name, genId, age); + group.addStudent(student); + genId++; + } + + public String getStudentsInfo() { + StringBuilder sb = new StringBuilder(); + sb.append("Students List: \n"); + for (Students student: group) { + sb.append(student); + sb.append("\n"); + } + return sb.toString(); + } + + public void sortByName() { + group.sortByName(); + } + + public void sortByAge() { + group.sortByAge(); + } +} diff --git a/src/ru/gb/study_group/Students.java b/src/ru/gb/study_group/Students.java new file mode 100644 index 0000000..821f397 --- /dev/null +++ b/src/ru/gb/study_group/Students.java @@ -0,0 +1,55 @@ +package ru.gb.study_group; + +public class Students implements Comparable { + private String name; + private int id; + private int age; + + public Students(String name, int id, int age) { + this.name = name; + this.id = id; + this.age = age; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder("Students{"); + sb.append("name='").append(name).append('\''); + sb.append(", id=").append(id); + sb.append(", age=").append(age); + sb.append('}'); + return sb.toString(); + } + + + @Override + public int compareTo(Students o) { + return name.compareTo(o.name); + } + + +} diff --git a/src/ru/gb/study_group/StudentsComporatorForAge.java b/src/ru/gb/study_group/StudentsComporatorForAge.java new file mode 100644 index 0000000..cb88b03 --- /dev/null +++ b/src/ru/gb/study_group/StudentsComporatorForAge.java @@ -0,0 +1,14 @@ +package ru.gb.study_group; + +import java.util.Comparator; + +public class StudentsComporatorForAge implements Comparator { + @Override + public int compare(Students o1, Students o2) { + return Integer.compare(o1.getAge(), o2.getAge()); + } + + public int compareByName(Students o1, Students o2) { + return Integer.compare(o1.getAge(), o2.getAge()); + } +} diff --git a/src/ru/gb/study_group/StudentsIterator.java b/src/ru/gb/study_group/StudentsIterator.java new file mode 100644 index 0000000..8a86a8a --- /dev/null +++ b/src/ru/gb/study_group/StudentsIterator.java @@ -0,0 +1,25 @@ +package ru.gb.study_group; + +import java.util.Iterator; +import java.util.List; + +public class StudentsIterator implements Iterator { + + private List studentsList; + + public StudentsIterator(List studentsList) { + this.studentsList = studentsList; + } + + private int index; + + @Override + public boolean hasNext() { + return index < studentsList.size(); + } + + @Override + public Students next() { + return studentsList.get(index++); + } +} \ No newline at end of file diff --git a/src/ru/gb/study_group/StudyGroup.java b/src/ru/gb/study_group/StudyGroup.java new file mode 100644 index 0000000..fd28b24 --- /dev/null +++ b/src/ru/gb/study_group/StudyGroup.java @@ -0,0 +1,41 @@ +package ru.gb.study_group; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; + +public class StudyGroup implements Iterable { + private List studentsList; + + public StudyGroup() { + studentsList = new ArrayList<>(); + } + + public void addStudent(Students student) { + studentsList.add(student); + } + + public void sortByName() { + Collections.sort(studentsList); + } + + public void sortByAge() { + studentsList.sort(new StudentsComporatorForAge()); + } + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder("StudyGroup{"); + sb.append("studentsList=").append(studentsList); + sb.append('}'); + return sb.toString(); + } + + @Override + public Iterator iterator() { + return new StudentsIterator(studentsList); + } + + +} From daeb550c657ad6ebbfef63cc3dfff7b30f08cba9 Mon Sep 17 00:00:00 2001 From: Mangoost Date: Fri, 12 Apr 2024 18:45:00 +0300 Subject: [PATCH 5/7] Homework_4 --- .../gb/FamilyTree/FamilyTree/FamilyTree.class | Bin 2745 -> 2678 bytes .../ru/gb/FamilyTree/Human/Human.class | Bin 4700 -> 4842 bytes .../JavaProject/ru/gb/FamilyTree/Main.class | Bin 2178 -> 2229 bytes .../FamilyTreeComporator.class | Bin 1173 -> 0 bytes .../FamilyTreeComporatorByAge.class | Bin 0 -> 1275 bytes .../FamilyTreeComporatorByName.class | Bin 0 -> 1324 bytes .../WorkWithFamilyTree/FamilyTreeElem.class | Bin 0 -> 290 bytes .../FamilyTreeIterator.class | Bin 1213 -> 1377 bytes .../StudentsComporatorForName.class | Bin 0 -> 1176 bytes .../ru/gb/study_group/StudyGroupElem.class | Bin 0 -> 191 bytes .../gb/FamilyTree/FamilyTree/FamilyTree.java | 32 +++++++----------- src/ru/gb/FamilyTree/Human/Human.java | 4 ++- src/ru/gb/FamilyTree/Main.java | 3 ++ .../FamilyTreeComporator.java | 20 ----------- .../FamilyTreeComporatorByAge.java | 10 ++++++ .../FamilyTreeComporatorByName.java | 16 +++++++++ .../WorkWithFamilyTree/FamilyTreeElem.java | 9 +++++ .../FamilyTreeIterator.java | 8 ++--- .../StudentsComporatorForName.java | 11 ++++++ src/ru/gb/study_group/StudyGroupElem.java | 6 ++++ 20 files changed, 75 insertions(+), 44 deletions(-) delete mode 100644 out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporator.class create mode 100644 out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporatorByAge.class create mode 100644 out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporatorByName.class create mode 100644 out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeElem.class create mode 100644 out/production/JavaProject/ru/gb/study_group/StudentsComporatorForName.class create mode 100644 out/production/JavaProject/ru/gb/study_group/StudyGroupElem.class delete mode 100644 src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporator.java create mode 100644 src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporatorByAge.java create mode 100644 src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporatorByName.java create mode 100644 src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeElem.java create mode 100644 src/ru/gb/study_group/StudentsComporatorForName.java create mode 100644 src/ru/gb/study_group/StudyGroupElem.java diff --git a/out/production/JavaProject/ru/gb/FamilyTree/FamilyTree/FamilyTree.class b/out/production/JavaProject/ru/gb/FamilyTree/FamilyTree/FamilyTree.class index 12a0aaa202d019a8069b960c8d2c9b55826b429a..c959f5066688c7162441961eb6ea95b585892fd7 100644 GIT binary patch literal 2678 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 diff --git a/out/production/JavaProject/ru/gb/FamilyTree/Main.class b/out/production/JavaProject/ru/gb/FamilyTree/Main.class index 8151e55d73fe8f7985308b0ba9f5d628405edfb6..5430b387b3cfd04d1e9121e54c3c3ef19e76de56 100644 GIT binary patch delta 407 zcmXAkJuia+5P+Y1ORLpHN<8zO>^e?*zFydwuyY3(6t-{3dc-p)>vgHiFn?=BlXf7to zl2#|n#4uO@W1kXSAj!K@dst-nJnrzFl;Ooghzi0~Vp7GaPA;kDmKq+Y@`ayo+Qc9rF50D>4)M|{^>m4kkOb(K5Ir(LuZ+q-V;sbWLPrlLP=Dix{jJ6lS{D*eQ^l3lg0 gNhmo~{)!|!`uQ^#q;${8u3j(FyJ-zaMjM0uU+kz!6951J delta 342 zcmXAkJ1j#16o$WZFMScwMra9*M`_ioHA&FNK&Vb4rJj9U9i)+z#Z<8xyNJzTun1|a z2Agy;nJf$@n@u84VmQfnPV(n`|AYI?eYawUB7!qlET*k;-m16=GuO&IF})rgR*sV= ziIOFl!O&9u#w;7sQtPt$od-B@ffVX7TS|=COzqqrsJ7vwohTksbYRiRDPAt==AIrN z>E($&8uatR0Iv-4#t`oW_+*$bM))Sk4fgc5Ph>r>n0>Lq@_?kTR=1^6&74Tq^ep~suU?erBv;Cldh6&ow!n|I zgacea;($2wqY$&Uk*(T?RF-FUc4ywanVtRf_vbGFdw5cXK*>S5hB?d=8fWsObUis8 zx$g&OY8VjaxAjy9JA_iJee7U?@YICvXy6{miS|An8KsJsRa9}!L9K>5t`lD8qE38s zexieMA<(`*x$un)d_!=CY)GRB{Z=mrQyAWv)vw)k&>$>Fg@=LmT$@=&nH@9<&9o)m zKp8pkm`8cvKV`Mp(^K^>oD7sXiVvDSe<;0UX|%PI&2li-9|&*qoMvo6hamhHgqf?i z{x1m&+A@xMxYBC((i)>mc%OkQeLb4WAhhk>Ep*z>^DgfB4#RD<;xw5V>g0FYU7oeK zDj55xhurIlVxHWg&w0-b>GWc*z$kFO{n($&)3ci!HKGhNTVOWnE$|N?)wZ zMAoCowfHoNv>vyy8lef?;g#U^UEE`B(YDyKSp|K)gx1XP5DD7-$mc<0kNG@I5MFUU o%cs8i>^Gb({=cJgnOe4}dIGk_K@|ZsSo1Fsqp#x;ZwNg82b;_zKL7v# diff --git a/out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporatorByAge.class b/out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporatorByAge.class new file mode 100644 index 0000000000000000000000000000000000000000..9f8f329c00446974a53ee7a86185feb2c3ffb2e6 GIT binary patch literal 1275 zcmbtTU2hUW6g{&*7bw_mt*xIGwc6z)Zftxih`~yeO{kibw9gA2mu(le83z;olP|vb z^r-jf{zG4vWY!Y>T1ecbq-1AB3Z};M_Ti#OYBWd*`6oY=*o~ zgg%!IpKC%li)&aiVdb!l6^7+FzdMlJ=YqlPM*TBSP(aFd-6Dmo;)aPe6|&CoVm=MK zL>388M&i{-t2nh=^D(F@s#l3Ax+ZQhtm+zvG6)?d#?xXLlDp9{)wt9O2K>#i-{GR| zbwWZ`T2a>v4?Pj6^#n}HUhsk8<(xWZs;@GvU1T4fO*6dyKk8b$S*;Vl5j|sgJ|~wx zVimhhuY`ygG6#V_@Z?ZEgN#iOeMOgH%WlO_X8dHUml5S@?Q_|Sj^ELF_qpVPPVarK zxwCT>Y4yt~#>mXAP7fh_5Di6_?*-~UH{ynvxsIo*6g;5!ZGhn>b!dYA)R;8i*8R%J z0#c=~V4wB&9h%iPfw)U^ZeriV2CeR2Knk>?7Q;HxD>|uqpZ-?)J4}X(p1&dgiLeA> z=Co!mjD0a?rYI8nP-nC7h%7^Ai@gfOGWOd1=e0>*j|nyK#A=X|EwYpnm$;RZe5w2k l=?aZ6xIQc6e1Z9ijJQCB6o|s6kug+aJ*N4JC=p|3&0yw~nGz=t6Br{mRB7=3#KXcdTy^j07 zbuQY9VX^G>JXK*x*v`o^mXI=$&R`iChCSJLJ1zH!2cAD@N+I0SP+pvRsyhLVhgDw$ z3}#2DV;%^Gb=#?r1sh6wy-q2O6|9=DGPs4cDMxVtL#iDHmt2Zw$gp8wXK-q1tYgE( zW(Id~m!UGB%|oIOC0C(*JBW>%Lq&!QyFMS8-gD_DYn+;i`;?<7L4D=*$XY#YbN_@(PtS*7Qgyvg3~%Q2F`I}I!{#*o;Bq8U{ZH<4 zvs$WV{_@DC2=pLQ?)dmaF^wH?dZ^E)gR$=Q>J4x)JteTO4`%M7PElX!bx}>f*pQRl5O( zdvv7}^ro9k{e$R&Ga3O4`EOufqt6ei*PjW*BkD85@ndY!EH{O0(~RjWMD&_Y>7NC? zt-^Ph48^FwLiP(`35=OnBIaBiitYFD^DYh!YQ*`bXbEsD3S5iRLZOBq@?Y9qZo3IrG^{srWZ BN&^4@ literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeElem.class b/out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeElem.class new file mode 100644 index 0000000000000000000000000000000000000000..b5c4dc1915c032794e99ddc3476c0a2a4ccc78b9 GIT binary patch literal 290 zcmZWk%L>9U5S;jEd?V;b)QbU+DuM?ELG)0e=Tu^h_5mRk{521LfFC8M?ZJwdea!6c z%)Z`_Cx9h-6cvJrPMHkYnnxoCO#zuO;5>~n^arQov)^)<>L5k@edKS tyd>2}u~wno8~mCaXZj9-6|>(0RqMG92bp(@MxL8lj|y6OY@?Is?gxZQN+$pS literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeIterator.class b/out/production/JavaProject/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeIterator.class index 7be59ddee8239f93c50f2dd9a0d21d41b7c69bb9..cbedde7eab1fcf05c23fe9c610a1ea67ce5b6008 100644 GIT binary patch delta 399 zcmdnX`H+k2)W2Q(7#J8F8O%0vF*7n6P4v{0cFjr6C6*=XmzHGa==)?Am)L~3PTs`0gvl1D%uEKzv$nHlWRTFn zqO6rkU6oZs6R3odK?G8JQ;su*g|5AaqGUbwTVg v6mSG;F@oCT2&6$KvubT)klg@eFi-Afkyl1&W`$~If;!Wf!33y^iNO>AQc*=R delta 411 zcmaFJwU?9Y)W2Q(7#J8F8B8{EF*63p6qV|yC+WK-=4R$ph7_fy>U)&tCgwp%E(Q(; zIUWXi1_ee2mb}!85=I6E4NV_>S|)cgs_Pl}WF?j*>X(*e=IHxm7MIxI*K(L~iN3K0 zX?k`usY{3e-2%2KCowNw-#;lUHMzu^k-=@UHM5#5ek+riV;LhRA7u7c=3!t21_u`d zH-ie0r3_>ofhZD&FN diff --git a/out/production/JavaProject/ru/gb/study_group/StudentsComporatorForName.class b/out/production/JavaProject/ru/gb/study_group/StudentsComporatorForName.class new file mode 100644 index 0000000000000000000000000000000000000000..0bb18d8bf609205d01f71fbac8e58c26770ad0c0 GIT binary patch literal 1176 zcmb7DT~8W86g{(`E4b9HRr_tx*18MWO??zXVhkD*s!briHVaJFHLy#D*(Uy{zVyYW zeQ5gJAJz2EE)-CVX|gkW=ght5e$MYdKYju@#9kH}QaaKG7O==*Ub>%Mr{@NqbJo7( z9m%j*@dIC08B&&gzKkVgbYu-I!(hmZ$no0FP)6OWPo4;)fzwp-i4to)-e=G~E>GP) zXIQiB#)Q5pg&%n3EFNG*hiTv;R%iSt3JjS}*dMrpw?c+>>o$X3&teVhIyMYE#uJ9( z{GfOshet#e3Ri~WI21`#`iP$4#A?j9oTO8}U&F5Jct**_nMTs@Im)RUJ7q{8gL8)adg6OmB47<|}OeU;6)zT57G|dlOUWDC` zRJlHvTu>camD<6<{ee_(6DG)wZj2MmHp57C__440u&L&EZeic4j$(^uO#{PIdOj)o z)2pHVdHk3dNx(wk8`#(Q`UUOknn1jy-5AN6ctxlD46;QhrUsbk6`fQMlm2G$J9LIp zyk8^tg|HMR%$b-upXefCCM#^?b?nW=8&75F!E%Sq^uC-(x#Qsl;e1f{S{CoKtt&-ruh|C literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/study_group/StudyGroupElem.class b/out/production/JavaProject/ru/gb/study_group/StudyGroupElem.class new file mode 100644 index 0000000000000000000000000000000000000000..9c8a0755b2a4767c5989efcb2802fc3140cea612 GIT binary patch literal 191 zcmX^0Z`VEs1_nn4ZgvJHMh1nVQvLKK{o<0+l*;(@qWsbV{a_H=9mI6aNzG+vU}0ns z$Vx0r)Xz!GOV{^L%1TWxVPs%WPc89F%uQuv5Yf=|LC6P}6lLb6TQf4S0Tno=1Lc`D zG(8y^xPtRbi;`2_GIM}J!l-uWfwZ$RG62;AoyNex1hkTsfsFxVH9G?bP=t|z6C}>S F1po?(F9-kt literal 0 HcmV?d00001 diff --git a/src/ru/gb/FamilyTree/FamilyTree/FamilyTree.java b/src/ru/gb/FamilyTree/FamilyTree/FamilyTree.java index 494b1d1..c8e5a5b 100644 --- a/src/ru/gb/FamilyTree/FamilyTree/FamilyTree.java +++ b/src/ru/gb/FamilyTree/FamilyTree/FamilyTree.java @@ -1,29 +1,26 @@ package ru.gb.FamilyTree.FamilyTree; import ru.gb.FamilyTree.Human.Human; -import ru.gb.FamilyTree.WorkWithFamilyTree.FamilyTreeIterator; -import ru.gb.FamilyTree.WorkWithFamilyTree.HumanComporator; +import ru.gb.FamilyTree.WorkWithFamilyTree.*; import java.io.Serializable; import java.util.ArrayList; -import java.util.Collections; import java.util.Iterator; import java.util.List; -public class FamilyTree implements Serializable, Iterable { - private List humanList; +public class FamilyTree> implements Serializable, Iterable { + private List humanList; - public FamilyTree() { + public FamilyTree() { this(new ArrayList<>()); } - public FamilyTree(List humanList) { - + public FamilyTree(List humanList) { this.humanList = humanList; } - public void addMember(Human human) { + public void addMember(E human) { if (!humanList.contains(human)) { humanList.add(human); } @@ -32,7 +29,7 @@ public void addMember(Human human) { @Override public String toString() { final StringBuilder sb = new StringBuilder("FamilyTree{ \n"); - for (Human human : humanList) { + for (E human : humanList) { sb.append(human.getInfo()).append("\n"); } @@ -45,22 +42,19 @@ public void saveToFile() { } public void sortByName() { - Collections.sort(humanList); - } + humanList.sort(new FamilyTreeComporatorByName<>()); - - public int sortByAge() { - humanList.sort(new HumanComporator()); - return 0; } @Override - public Iterator iterator() { - return new FamilyTreeIterator(humanList); + public Iterator iterator() { + return new FamilyTreeIterator<>(humanList); } - + public void sortByAge() { + humanList.sort(new FamilyTreeComporatorByAge<>()); + } } diff --git a/src/ru/gb/FamilyTree/Human/Human.java b/src/ru/gb/FamilyTree/Human/Human.java index 73cd11b..5fe5a1b 100644 --- a/src/ru/gb/FamilyTree/Human/Human.java +++ b/src/ru/gb/FamilyTree/Human/Human.java @@ -1,10 +1,12 @@ package ru.gb.FamilyTree.Human; +import ru.gb.FamilyTree.WorkWithFamilyTree.FamilyTreeElem; + import java.time.LocalDate; import java.util.ArrayList; import java.util.List; -public class Human implements Comparable { +public class Human implements Comparable,FamilyTreeElem { private String name; private LocalDate dob, dod; private Gender gender; diff --git a/src/ru/gb/FamilyTree/Main.java b/src/ru/gb/FamilyTree/Main.java index d763c86..169a98f 100644 --- a/src/ru/gb/FamilyTree/Main.java +++ b/src/ru/gb/FamilyTree/Main.java @@ -3,6 +3,7 @@ import ru.gb.FamilyTree.FamilyTree.FamilyTree; import ru.gb.FamilyTree.Human.Gender; import ru.gb.FamilyTree.Human.Human; +import ru.gb.FamilyTree.WorkWithFamilyTree.FamilyTreeElem; import ru.gb.FamilyTree.WorkWithFamilyTree.HumanComporator; import java.io.*; @@ -42,6 +43,8 @@ public static void main(String[] args) throws IOException { boris.addChild(nataly); margo.addChild(nataly); alexandr.addChild(dmitry); + + familyTree.addMember(dmitry); familyTree.addMember(valery); familyTree.addMember(alina); diff --git a/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporator.java b/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporator.java deleted file mode 100644 index a6f349b..0000000 --- a/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporator.java +++ /dev/null @@ -1,20 +0,0 @@ -package ru.gb.FamilyTree.WorkWithFamilyTree; - -import ru.gb.FamilyTree.FamilyTree.FamilyTree; -import ru.gb.FamilyTree.Human.Human; - -import java.util.Comparator; -import java.util.Iterator; - -public class FamilyTreeComporator implements Comparator, Iterable{ - - @Override - public int compare(FamilyTree o1, FamilyTree o2) { - return 0; - } - - @Override - public Iterator iterator() { - return null; - } -} diff --git a/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporatorByAge.java b/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporatorByAge.java new file mode 100644 index 0000000..21bbd76 --- /dev/null +++ b/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporatorByAge.java @@ -0,0 +1,10 @@ +package ru.gb.FamilyTree.WorkWithFamilyTree; + +import java.util.Comparator; + +public class FamilyTreeComporatorByAge implements Comparator { + @Override + public int compare(E o1, E o2) { + return Integer.compare(o1.getAge(), o2.getAge()); + } +} diff --git a/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporatorByName.java b/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporatorByName.java new file mode 100644 index 0000000..7a643c5 --- /dev/null +++ b/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeComporatorByName.java @@ -0,0 +1,16 @@ +package ru.gb.FamilyTree.WorkWithFamilyTree; + +import java.util.Comparator; + +public class FamilyTreeComporatorByName implements Comparator{ + + + + + + + @Override + public int compare(E o1, E o2) { + return o1.getName().compareTo(o2.getName()); + } +} diff --git a/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeElem.java b/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeElem.java new file mode 100644 index 0000000..9b2fe4c --- /dev/null +++ b/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeElem.java @@ -0,0 +1,9 @@ +package ru.gb.FamilyTree.WorkWithFamilyTree; + +public interface FamilyTreeElem { + String getName(); + int getAge(); + + + String getInfo(); +} diff --git a/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeIterator.java b/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeIterator.java index 14d33e4..aca1859 100644 --- a/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeIterator.java +++ b/src/ru/gb/FamilyTree/WorkWithFamilyTree/FamilyTreeIterator.java @@ -5,11 +5,11 @@ import java.util.Iterator; import java.util.List; -public class FamilyTreeIterator implements Iterator { - private List familyTree; +public class FamilyTreeIterator implements Iterator { + private List familyTree; private int index; - public FamilyTreeIterator(List familyTree) { + public FamilyTreeIterator(List familyTree) { this.familyTree = familyTree; } @@ -20,7 +20,7 @@ public boolean hasNext() { } @Override - public Human next() { + public E next() { return familyTree.get(index++); } diff --git a/src/ru/gb/study_group/StudentsComporatorForName.java b/src/ru/gb/study_group/StudentsComporatorForName.java new file mode 100644 index 0000000..ccb25e8 --- /dev/null +++ b/src/ru/gb/study_group/StudentsComporatorForName.java @@ -0,0 +1,11 @@ +package ru.gb.study_group; + +import java.util.Comparator; + +public class StudentsComporatorForName implements Comparator { + + @Override + public int compare(E o1, E o2) { + return o1.getName().compareTo(o2.getName()); + } +} diff --git a/src/ru/gb/study_group/StudyGroupElem.java b/src/ru/gb/study_group/StudyGroupElem.java new file mode 100644 index 0000000..8b77b23 --- /dev/null +++ b/src/ru/gb/study_group/StudyGroupElem.java @@ -0,0 +1,6 @@ +package ru.gb.study_group; + +public interface StudyGroupElem { + String getName(); + int getAge(); +} From c9a1e6cdc5253f17f5e910131ff139b91541036d Mon Sep 17 00:00:00 2001 From: Mangoost Date: Sun, 14 Apr 2024 18:43:00 +0300 Subject: [PATCH 6/7] save seminar --- .../JavaProject/ru/gb/study_group/Main.class | Bin 930 -> 621 bytes .../study_group/Model/Service/Service.class | Bin 0 -> 1690 bytes .../Comporator/StudentsComporatorForAge.class | Bin 0 -> 1132 bytes .../StudentsComporatorForName.class | Bin 0 -> 1341 bytes .../{ => Model/Student}/Students.class | Bin 1875 -> 1931 bytes .../Iterators/StudentsIterator.class | Bin 0 -> 1289 bytes .../Model/Study_Group/StudyGroup.class | Bin 0 -> 1955 bytes .../Model/Study_Group/StudyGroupElem.class | Bin 0 -> 209 bytes .../gb/study_group/Presenter/Presenter.class | Bin 0 -> 1191 bytes .../ru/gb/study_group/Service.class | Bin 1584 -> 0 bytes .../StudentsComporatorForAge.class | Bin 1012 -> 0 bytes .../StudentsComporatorForName.class | Bin 1176 -> 0 bytes .../ru/gb/study_group/StudentsIterator.class | Bin 1163 -> 0 bytes .../ru/gb/study_group/StudyGroup.class | Bin 1796 -> 0 bytes .../ru/gb/study_group/StudyGroupElem.class | Bin 191 -> 0 bytes .../ru/gb/study_group/View/Console.class | Bin 0 -> 2774 bytes .../ru/gb/study_group/View/View.class | Bin 0 -> 180 bytes src/ru/gb/study_group/Main.java | 19 ++-- .../{ => Model/Service}/Service.java | 5 +- .../Comporator}/StudentsComporatorForAge.java | 4 +- .../StudentsComporatorForName.java | 4 +- .../{ => Model/Student}/Students.java | 2 +- .../Iterators}/StudentsIterator.java | 4 +- .../{ => Model/Study_Group}/StudyGroup.java | 6 +- .../Study_Group}/StudyGroupElem.java | 2 +- .../gb/study_group/Presenter/Presenter.java | 35 ++++++++ src/ru/gb/study_group/View/Console.java | 83 ++++++++++++++++++ src/ru/gb/study_group/View/View.java | 6 ++ 28 files changed, 150 insertions(+), 20 deletions(-) create mode 100644 out/production/JavaProject/ru/gb/study_group/Model/Service/Service.class create mode 100644 out/production/JavaProject/ru/gb/study_group/Model/Student/Comporator/StudentsComporatorForAge.class create mode 100644 out/production/JavaProject/ru/gb/study_group/Model/Student/Comporator/StudentsComporatorForName.class rename out/production/JavaProject/ru/gb/study_group/{ => Model/Student}/Students.class (68%) create mode 100644 out/production/JavaProject/ru/gb/study_group/Model/Study_Group/Iterators/StudentsIterator.class create mode 100644 out/production/JavaProject/ru/gb/study_group/Model/Study_Group/StudyGroup.class create mode 100644 out/production/JavaProject/ru/gb/study_group/Model/Study_Group/StudyGroupElem.class create mode 100644 out/production/JavaProject/ru/gb/study_group/Presenter/Presenter.class delete mode 100644 out/production/JavaProject/ru/gb/study_group/Service.class delete mode 100644 out/production/JavaProject/ru/gb/study_group/StudentsComporatorForAge.class delete mode 100644 out/production/JavaProject/ru/gb/study_group/StudentsComporatorForName.class delete mode 100644 out/production/JavaProject/ru/gb/study_group/StudentsIterator.class delete mode 100644 out/production/JavaProject/ru/gb/study_group/StudyGroup.class delete mode 100644 out/production/JavaProject/ru/gb/study_group/StudyGroupElem.class create mode 100644 out/production/JavaProject/ru/gb/study_group/View/Console.class create mode 100644 out/production/JavaProject/ru/gb/study_group/View/View.class rename src/ru/gb/study_group/{ => Model/Service}/Service.java (83%) rename src/ru/gb/study_group/{ => Model/Student/Comporator}/StudentsComporatorForAge.java (77%) rename src/ru/gb/study_group/{ => Model/Student/Comporator}/StudentsComporatorForName.java (67%) rename src/ru/gb/study_group/{ => Model/Student}/Students.java (96%) rename src/ru/gb/study_group/{ => Model/Study_Group/Iterators}/StudentsIterator.java (81%) rename src/ru/gb/study_group/{ => Model/Study_Group}/StudyGroup.java (78%) rename src/ru/gb/study_group/{ => Model/Study_Group}/StudyGroupElem.java (63%) create mode 100644 src/ru/gb/study_group/Presenter/Presenter.java create mode 100644 src/ru/gb/study_group/View/Console.java create mode 100644 src/ru/gb/study_group/View/View.java diff --git a/out/production/JavaProject/ru/gb/study_group/Main.class b/out/production/JavaProject/ru/gb/study_group/Main.class index b1b2e49dcfa1858fd6498a8c12219f8f8a7b2950..862ecdf31f2913cc06486335983c3e04589c516c 100644 GIT binary patch literal 621 zcmZ`$%TB^j5IvVyp%kg01w|Bhpo#qejENy}Rdj(NF)qw)Y3e1=n$lwYELTKL`~W}7 zIJc0n5bk0oGiT1Z^Z5Dw{04B1mWmY83Njk9$T8?+KIi6y`<{7ck6kBX$XyCwL{|*y zc4w#{&u|>Zre~Y8C?35%d0`O0m_y;dn!UiE1rt|=f^-o@XbMUicBF1&3q|r6va^VX zkpi8;_+QxP!e_|zf|1KmwuJBA##7r3@3}ppOvMTuJ{j^*$as~^M9*TzP`5VAbxCiU z$QtcOYd!NI3We`=J43>G=#fHo15DsN>ASf>KG}pc^oQasH^R``R=L_46{~|F4juPK z$e{{y=nL5xPEn>C$(I7H3OTa76q)21`Rv&O>^*@iWF-u`K$WbvEWjT2DJsA~jWUwV z<=M&CzMwoTP_S0MfBpfLVJ%ldCZXn`LZ_P=C?(RZB^`Af5T2(V578iToxVOoGwJo1 IkQ7e-04E@bWdHyG literal 930 zcmZuwZEw<06n^e_X{nubz>qn0o3CZ)s`FjulFh_yN!d(TYK$Mu1+KLVv`bqS`C0k_ z5>5O8{wU+Qg@h33hkN>*x92(MwtxTq`UBtqZ#66-r68>%gDit_&M&#u<-Tj3w$4R6 zX2|Y&z8CK^q|Bn~49Th87*x=t)6zSzmbX2S|q#HaOsJO0j9UgiTPn_xan-?)u?8WWs z)UTJcEt{X`XRkUG=b=j-iVMOtcQn3whV=yulkb8^v}Vu`+v2?^h34cSJ93ZM!VZ0c z@>v4iFtT($CS;LiWHZ|%updeI37s+wq_9h;K2E?>JR_9DbG#srEFMvYZ2Ivxlusk% z>{>xHibLqNf?<>rTQF7A=8Fa%HdfOx^ rCNvVF;|-RvPk+D>@~|nxK_QV|9?Qc^yrOy)r+7`da^gDSCG7nNE+Wan diff --git a/out/production/JavaProject/ru/gb/study_group/Model/Service/Service.class b/out/production/JavaProject/ru/gb/study_group/Model/Service/Service.class new file mode 100644 index 0000000000000000000000000000000000000000..300a3d8b56094c00bf54379b568fd3dd017bf562 GIT binary patch literal 1690 zcmaJ?YfsZq7=F$+=qQDap$w40xF}mE6mO^$K|sOjHq;pme$j5LvpPD`c0_-QzrgrS z6M-m+@w30e-(lkAJzcpD$daCO-k$e)p7+-M{QK=YfH^!7;e%g5KtdCm8N#o%4Na+N zW?5M-yw-~jL-Vv@8qN%ZKapG!5M&s)YD&4F*iNnV?s?g&*4CA5wWL>+ylYu`_+FW0! zgflqHDRnblVqj?zVMKXqx*4L0%zkq6j%Ao-HJwhb@bG#ioI@XjsFg}Qa6)7lOPnhC zAiK&l+fN)v8Rlz7rKDRTV(XAuC^kDivq?Zj6-3FxI~ApFbJ|!5iHPR8oH6F_3kqGLocuE98+@Nx~xtNlmVwwVRs`Vl< z947Nh$Ag}cFw47Mw5ygg|1PJk>D)XgVV;{?>gKt!PP!MU!x=&u!_;%NwSsOv(Fzr^ zL^9Q)R$0+3gP%QPz$(3W?!;+w3t?!_tQt2L{rFB&`(k~g#CTqp)< zpnUX=@zIZ_%H7fE)7k_YF*MV2fll-A(+&vB+hFnzgw<`dY(o6(dfcIBJKX?81PCz% z33urv)qSvtB|0&hzIz^Cjj#h`8{9#7H6?#Rq;DHtIogP0Tj-Hj$r5<6iO4=d#B~S} zQ5aq5KpYX5M6LsQBm{{x?z_Z;ct9cf$fFY(WZe*QnD!)mq&Hl`><(fS%|IpBPNZZw?smOJH@58@esV&_6L=b-P4D?e|f(U~oFN7#$ zbYlWNxQ<>-QS3Y;ak?v`&67jqp6npqTE;_?_K0q^!}kYK0Wkro-xwk*4S*+ml2%@c pU|r{}{RHtp31EO!#1CXYxR-sJmg6yQAH^6ZjFDq89utEP`Txs8)OFAqXjrisULlr677l8)s#V92;%cmH1D+ z^g^p1s-F9!s?OShAW)U`urr?V&fE89XMg|s@e@D`t_1@#CQ3HSm}RJ)@Xy?fc@ld2 zy%P~AhS{wsiPSd3jN=|!m_x;cW#blX21jOI*z<-e>z^HkGR;oC-Lx-auS*$`s0%+N zm{6!zC~_Fz!aNpC)NCwbiD7Yks-Gwk3dvvw>EM)0DkwX??^4M!?wGi%OI8@#lTL0^ zc`CU|=PG@{&#h^5AW?Y{JYFDV^wEvOR4}=nuv{brLm~fTpyFIvBRb;NUZEJeU+a%NK zrkM=HPNe&~dZA|AqT>EvX$^QvgJpo>9zBQ>d3pzAA5i3xXXML`Z(v{P!@xtb`Zr+W z5m~#~fK@!Eh$a~;WOeZe{jl_ojdPfrw7#SIh2pCiR*q3G_Kh$!<`dL&T${+%b8>6{ zg*!hTZmmUppAo+1`<7T}zSYLYFU)PyI>+tngs+OOjtD=eqKX03$kQ_Lf<6qq#CqR literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/study_group/Model/Student/Comporator/StudentsComporatorForName.class b/out/production/JavaProject/ru/gb/study_group/Model/Student/Comporator/StudentsComporatorForName.class new file mode 100644 index 0000000000000000000000000000000000000000..1f1ff3105bdca4d247a525fc2b0d9d4ca8e32ea1 GIT binary patch literal 1341 zcmb_cU2hUW6g{)hZuzonZR>YG)LOoDW8+gHBuxcFq}2q{*Jgo{Ze4cCGHb$r^2L`L zeK0=zql|ZEL7-G(8WU!A=Iotw&fLA1pTE9+2XKIAacGF>h$gXsMF!*C`e>Ps<#x=s z&2!!o42wnEwMB^`lFpnYu!NY7coGRD8TS0Z>@>~32-<_wj_(CM^T=y+$E+*lwL;Wd zEz1t?GUy#Hj;$_dSWRbYW5K%cZMRd1;|7*>7)jj3%9NupfFaiMx;@M14Ub_hJFPn(gxApxfkr!)iK&tkk@g<(yc)E%!q(D$eXaLuIay ze@#b$VSQR;&>IQ8`7a8^M!8TT8O?ja@NzEYUlK0Q?or_q5mimy?zol+d`eF&O%VMu zRfgTk3JQz9Fi}%OL`E7%T%39Bca;4u7u=^@zAu*d_pf8EG%FDzm%i~R3GuoY_$^+s z<=5SiEp=s)K9_ZZZ7P2a40ox=BlM)!run|=ct$H=A^QdFvwHo2X89V>@sQ?Z7=R6I z(r#-C*`^(nJw^1APRM@`dK$T}&>8Y-zCh{|VG)d(6N-5&j2$x5DLlesrDos>tu&=J zj*@C&)Xtx%9g2ENsD@qRfSjahC7o1>TRKT)b3d?@r*VN>mu*a5Fg0^QiAc!|jhH5d N)fnkzkt0Au{x>q^RK@@R literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/study_group/Students.class b/out/production/JavaProject/ru/gb/study_group/Model/Student/Students.class similarity index 68% rename from out/production/JavaProject/ru/gb/study_group/Students.class rename to out/production/JavaProject/ru/gb/study_group/Model/Student/Students.class index 5e1d50c910b5dde8373a928fe7bd6cdb25353c18..d802d8ee6a5a4629acb36502e982d539e0b72bfd 100644 GIT binary patch delta 145 zcmcc2*Udk{LqVgcR6jjQzqq6{r7}LfD8IBo-#0%cHAg=fD3Y32vN7ruqmr(M4*_M9 eEttv`wFs&@#I%|*WO5#}H7|-Kn^!QeW(ELMFE!x+ delta 89 zcmeC?zsxtmLrAKqR6jjQzqq6{r7}LfD8IB|W5y{)5qS+C42j7hOy$BdSj68jt!8wa NJcHSK^F!uU%mBmDA%6e> diff --git a/out/production/JavaProject/ru/gb/study_group/Model/Study_Group/Iterators/StudentsIterator.class b/out/production/JavaProject/ru/gb/study_group/Model/Study_Group/Iterators/StudentsIterator.class new file mode 100644 index 0000000000000000000000000000000000000000..6c478148fce74fc4875fcc1e899d69fdd63530ab GIT binary patch literal 1289 zcmb7DTTc@~7(KJyvb1cWLR-Q61+^{6dV4ED&_vT%FtMglUT|ABWwCCXy%_N4_~MHX znurD;jL-fkLKzp zM5?~!nts>yLez46Zx0dBWvYZ~wnwdOEz}QuyJJYCBK1afj3FzKw4HTpOF&ddFpdcg zIURWv1V#@h38+2 ziaFL6X=jV2+DX%?c1>XX!1lq0r0RCtG5x@$|M`L4m_NC|LPcPrIFMf{HE8!S4@h9F zW;@nO@UCgOFU@9$$at;WGCK{^wPhTGs=r}-0*l8gZ?FCDpy{S?n0~vrC-HF5=Bdh* zC21R`w-O!#ujr~krtX`qx65WPE+WUH8NAnY^x`Pkw_$rnaw<0h>3TPCThZfRaV zgZ>LYCvD&=Z;t}OUg5`w#PM}LM+MXTdDl5si6wD^@l8gr*emSQGQ+V{i;(Gk-C2%qV~(v>#s?vkHFW w{1?tCVNntFR3G(ZM4eqC-<_DxU@!TS8`K|w-ApN@U#7f8La-daZ8YSfG; zl{fafFVH{dG#r0kAd$(gs7MNoN~4zV)Qv^Yv$jf3)7PLPF@QnnD)#Fb!mz-M*D`7q zqv^M*Td!)K+uAf9yH&exl;z1ic_P?Okim5 zYs%27Rt3f~fnSV;nSH6@ASP5y>NteMWEA-p-FlsvI&PyW(ARW53OyQPNRl!(b3Yq(l-COTSjy~UcXVG0T6a-5SnAut(_#@3buFgfNafrBzvNvG_4 zPNP<6IrXaTC2?9{Fe>0X4JUDymCSTiA#fwSBys}#<7K|ZPUm!-#|&w0ZEo5Ps^R%~ z4cp$avhK;lWQYq4ak0xY=pi%P)AKTWUJ;ne6nh)a>bQpM0!iNu;tL$e{O)3^xG6B- zOQ@|^LGwNEZCUANN2~UUh8vjUQXW=8y`PRGkQSA?Eih1aY7NV8d9eabYulU?3 ztQ&WSId4+i73pFK440gSz1-TU*xn0E#z>dkb*sK&c@FQx!#@ADL%n*TXN)$-s6Qx< zMmHo3ET#JAB(p05YS=ddxt@{tu%noKr3zci)&|!s*w8HyP?{C${lE4G3GIaX2#mLd zmN&Ak5-}?L@x_0Z|9LEluxDc@ZN>i+R4cnJZ{1#UxL1ZF8D_YbaDrx~0)bofQ+Qs| z{{qcq1-H>pYZ}M&T%?l%60`zRxgChyF4VOh419+6QCb)1IYbs9gg&I`If5eX^uPyq zaF=!hOSl)}-Juu?TjV}L%YQ{m!D@uX9|X{R9mJT#84qkj9LBwm2ZSW>u#@4e+yhBQ z{DSdrv69m}VpHhHvKa zz4zz&0+3=#5fH4jWin?sW6Q@y>ds!-u`7jQnI}6>eD-mpL_;wonAQBwnc}Tv=e!n$ zA)r#26K@2;B2Es!J~O&%<(eRLgH*bH5GQ+rDC?{)#I{ln&Ho+C{yZdbTlXvwIOPZ- OdNsw^5rRq25q$wlA~o&+ literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/study_group/Presenter/Presenter.class b/out/production/JavaProject/ru/gb/study_group/Presenter/Presenter.class new file mode 100644 index 0000000000000000000000000000000000000000..5b9ae0f8cfd726856e7440ec5b737ae7ae14cbb8 GIT binary patch literal 1191 zcmZ{jZEq4m6otoBk{l z+eS_N0sbiCnPsI$)(~cxJ9nOQ=Fa8kuWvs9?BcnO7~&cd2Iep?kU6wYEOTf%19QK7 zD0{xZ{0rN${T+dLrP@hi0Z9$IffNjZO?PY#x~Auk`)3~p?r3~$zICN19bdXvzXTE| zwmcPBZ_Va+xMQlJp&>1>HJkBf)R#lEE!`8lC;!Yk77|+)$NT8c09P_nOYfkzy6q-nzhQ zr8;{)gz+oZGpn|@NF7tt-*voG=?df`>?k*j*felgxzW9m>%TnPvyP++ zR}55DI5`RL4x~V-5>c0_WTV>QGreM|d9{}9$i4AVSGosQcgRS#HR@Tzj^)~F9R?Hr zC)?wTMPMVEph3JtdkQvFTQ--aJc_1(p}L8$5LA^nYmdfmPrkO5kMtD0tr#ftL1Jv= z7(Z;t;1|1r^Be@fHI8+z-XR|3{NymUVR8lJ0x{ZEtrJQdP$JH~bnOc=_2LCqYZth7#ZCvi8FH6N%?8}kO5p;97H6&g6*pt}S0=~0TT!eMS!J>|B3V!AB!*|d0YYc#)c^nh literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/study_group/Service.class b/out/production/JavaProject/ru/gb/study_group/Service.class deleted file mode 100644 index c50bf136fba5e7309f03054a97184d68bf1d503e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1584 zcmZ`(YfsZ)6n@@q&{4{mLm9Wh23~d%=N+Xe0xC|&P-igsMZ2xe>gY(@8Tl#x0^>JL z6rv=?&;AO3hl!VS+9CooOV;;2J?A;kb1wb%>+=@?b9f*lfS`nsf(~>FM4xLfwR}S} z>-pu%bG_;abj}#2;an96rZX!N!U7{!D_^hVZKqY+cwD!dt@V7F&x?GNAtBg>ZYUCZ z6hzP~FxVzQw_X}mU7*7S5Ew1Car%p@N;o7i)ZRrm9h)=uDL9NH45^!int&+Ch$7C? z1_a{i;;y)|V;N>$Efg{$*u?C)=>g93bq2tIYX?f;2J$VZ+fa&1qT! z{b@g>2n7l^r(_qYg1&osNFzarVx=0_ZHM!{K}69}2E`S1?* zKf^&h61c!pF78v{4UhVN1z}vG2D!DER-j^rgg8yFEdqO!`ORX{R~5|ioXU37a^^Qm z+M3ShIR*1ssfXqLfu-xzY98MeT1 zyOw*Ss&ah~bVQ{I;u;YVM&3US6cp5$jl|pHj@3xJ6y8gl+iqf+Kv^eOb z{{_0uBS-bW^+-+{7Z?sG7Lt?&D8Pd*~Hn;_-}MEDDWe%j+C4!KFP9+01eAW^_= zH*pGgNK$|z`cTA@E1`rLpTb*u!xUz>ksvi=#at}8iSdWbVH3xfPJTjG;58C-I4$rM z(Nd1Moqw2%O|jpb-`{haxcrVFg5U~_(%^xr7^b95F^f1(V*pba#59InvPtsIqQ|F0 z$$i>k@><4SqIQokA_)9MTtY%Z?gz%nN<;3`zDQ5*MA+kbWw${5>GoKR{Zsw$-|Evw Vw8yx%A7h-9Oti(gPZgILlVwS}ONLn!{*y1h zpz*=@?2j^@+15ZxX!K$3oqOk=GiUDHU%$Wq0MJIg1P2Q)avt(n6sR1_PtqUBIP~B5 zkJZ2kEbc^cWOfA>YW2es3MjfLdAI>jU|pwv*!NFOIz0Or>Lfk!d)%wooDvu+(+*Vz z3`)3(B^MPB%UBUuzPKldjS7_(a0kiwL}~)^wIHYyvWnX-?pVm0K;!zm_6SV0G>Psc zI=iw}>t0{pns-(YT-*~_%>QJNx)y(o;ONp1f-S5cG9Oh0z!iQJ{kQZGsMKy@P9qRqdfG5h8hRy7{+ zyB!GJ%1)BPqMFyee+jn;zS+5xu}+vjkb zT;EXs%=j`#A>*h{>M-H3oDWgWcs+`%X5t?I7q9nkyp=ZfJ|Vx=`%Mr{@NqbJo7( z9m%j*@dIC08B&&gzKkVgbYu-I!(hmZ$no0FP)6OWPo4;)fzwp-i4to)-e=G~E>GP) zXIQiB#)Q5pg&%n3EFNG*hiTv;R%iSt3JjS}*dMrpw?c+>>o$X3&teVhIyMYE#uJ9( z{GfOshet#e3Ri~WI21`#`iP$4#A?j9oTO8}U&F5Jct**_nMTs@Im)RUJ7q{8gL8)adg6OmB47<|}OeU;6)zT57G|dlOUWDC` zRJlHvTu>camD<6<{ee_(6DG)wZj2MmHp57C__440u&L&EZeic4j$(^uO#{PIdOj)o z)2pHVdHk3dNx(wk8`#(Q`UUOknn1jy-5AN6ctxlD46;QhrUsbk6`fQMlm2G$J9LIp zyk8^tg|HMR%$b-upXefCCM#^?b?nW=8&75F!E%Sq^uC-(x#Qsl;e1f{S{CoKtt&-ruh|C diff --git a/out/production/JavaProject/ru/gb/study_group/StudentsIterator.class b/out/production/JavaProject/ru/gb/study_group/StudentsIterator.class deleted file mode 100644 index e5c2ac3b0be34fdb31a8f3a57dc83a60c0671c3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1163 zcmaizPj3=Y6vfXQ21e+#MGCZ5ty)omDr40hO=H!VG-6#~h<2j`Oz2b`$ow&_AIFUw z7n)d2T^QGXDC2oEQ%f;zLuTH)_r3c&=RNNH{`2D}fHmC9KtV!-sw0V%Kz7@FXBvIe z=^4-3+g8UHNUhk8?XLnW;M$?kFCu4Relf( zN_^OfoU6@h#P!uv+dZR=;ABkG7Aq0w18MAE72baV1htg}ZX0Vni**iU#*2 zq2%xLTaq2kw*)_6QiA6swEB|tP4)F2CigL`;1|w+=9&^7DnieWpywiVc8$E-G0)&A adCBTGTpTY>jT9$iUrKz>%eWIt-TezuB>fNo diff --git a/out/production/JavaProject/ru/gb/study_group/StudyGroup.class b/out/production/JavaProject/ru/gb/study_group/StudyGroup.class deleted file mode 100644 index 6a2fdc1bb18552dd33c0beeeb3892d7f0b91fa38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1796 zcmai!`%lwQ6vw}}Lpn-%jkmlJbZo+WAd2PT7=q{obp(RHn2t5GWUQp?Oo;J+(nLWd z@elBiGM>{GRwjci+wN`8`J8jU=iK|}@2}qglGs!rAta+t#SPR8wC?Gj^h7}~<`Wy) zJ!97qsGl>7rn4XricW0F2n)2kMrFq=B$BqRAEwQcqd-Qe0gX^)G^uDti$K3!PUN$R zl2gtde#qNa`5=+u^(rp~RDNL;of7*~=yV0kPqap~AtIw)MF%CIOSoEIU>*-gtE2nT5F8HCD84rG_a7r)dVFsjCfVR6NELfv{tF@dY}f|GQ{1o(hcC?#G&AxcVxX#T?7kCxeDI zQjyuU$QBHNhK!jn>Q33F^;Ff^&82I{&=xeBnUs|yzm~LFG}g=eS;OAcU1}t4?dpXs z-8OmeKdf^;nlxyGHK^WMAgV&c%uT1!5*UisFz3Oeh6~7kw@KiuOo_`AzI3>*?{nSW zhNe|ODrIR#Yxa;DV)}{-be%QCJs@XFQ`Xa$zPMJx_}ngUPG`gAQu$yjB3*H|&R zr!AEuGsQi}2wg@J1m@{0@r6YHi*)Hpc!qjf(|t$3NqVw`5UqgL*fB)x6!Ok78h$|e z=2|b&Z!=kdcy&;T(}Wc5RL=*?cuqTk6|DNaWr`uOMeIA2_z7AiY*$!(<5Dc5wYi)w z&(`NK_XXC7B=GV)!x?uEgqipgUDdP>x_vtXS%uHDdUeiN^s8)R#wq%#$iWi~NvMYP zP;$KiSlc;_4ys>bj$mBI*eOPLB4fw6osLH)ju2<~5fa<+)-OkRupK|bqpxHqk;p)V z1Ox`4U=TeRqR((Zf-ygiLicAHuicW@u|dAvq!~Yb^%S!^9OW2Vh0Lu4#sgWaKFw?S P8=`otw|GaE5;Fe)I;y07 diff --git a/out/production/JavaProject/ru/gb/study_group/StudyGroupElem.class b/out/production/JavaProject/ru/gb/study_group/StudyGroupElem.class deleted file mode 100644 index 9c8a0755b2a4767c5989efcb2802fc3140cea612..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmX^0Z`VEs1_nn4ZgvJHMh1nVQvLKK{o<0+l*;(@qWsbV{a_H=9mI6aNzG+vU}0ns z$Vx0r)Xz!GOV{^L%1TWxVPs%WPc89F%uQuv5Yf=|LC6P}6lLb6TQf4S0Tno=1Lc`D zG(8y^xPtRbi;`2_GIM}J!l-uWfwZ$RG62;AoyNex1hkTsfsFxVH9G?bP=t|z6C}>S F1po?(F9-kt diff --git a/out/production/JavaProject/ru/gb/study_group/View/Console.class b/out/production/JavaProject/ru/gb/study_group/View/Console.class new file mode 100644 index 0000000000000000000000000000000000000000..5610d1959790ed85637fbdf347e5f2ef683b480f GIT binary patch literal 2774 zcma)8No*Tc82+B)#1nV2)NRvrNpa|wIIi8KNjK9h4Yas*x}^jXXv-v-I&PD3Iv%$T zYZstEkt$V4s24a!a7v>(4PC;W(^x{{fW!fb0}=-W7bK*X?~R?c7Gjb&Z~iy$|NiZJ z|M>eS4`u*#;HDQY6nWrQQH&CS%5&O9Ej+9l@$k|9bNYZKQ1U{;NLZ}`MRoN(9w-9K zolR*gF&yq5&tfI9ICkYNlJjzdis#@L zC>@;z6WCfnZ_dKJt%!{Bc@-P6iFr?1nw3roh(4L#Eh@I6j#WseS(N!q9y1fhY$g>1 z1UA~Yvp4O#b|!npp3YvgGk*J?ow2{oUZpT;PurQjelLR9=0QkB7~7em*|IDEV+uzl z^sua3zA6qcSha)^XRr#In8e1A-~Qa5p}`4>p1qd+%r8x4uRCTR)96G*{lCTbL;?+R@>`eifZ~aq;1BQb~j%Ej84c93%n{SyaIRR=rW`y{saNLnMQK zA*~IQ42w#UJED>LJ_RvqG$}a3X@`PioSGG!;MC$Jr%tMPMILXjHaOVLGeeHcC~xy#MFc>lZW(+i#|Biew^rgEXVt;OyLgY1!27ed#Mku2&9$eK*zBvHLPOvl zYVY7rDK=7+^N#%7lAm|w=RKUc-8Y3utf9-*8k|DgH^ds`Xyj<&sO1QA?Bh7h(Hr!= zG=+nAu&=0f9J_+Olf`4chr$qlu#-U`i?tNv8T008sT*?H#z>x zEH-d7aqQt}4@{wZ99uc{jKj~VcN}Xty)n)#PT|ZrmdV)q8N>L~GMUCA$Tapbk-$op zq>2e#&A)0EYYo3gYZ=Ho>_QFNm|U9${DI;9$Rz*7BL0jm_=UTEMLm8)0KfCA^9Q!! zFKYe6bUdMJvJ_QJcpDz!3a&auewr`JHNIPq3grpTc+k#&QO3)=sYG6X!{eeJdrqDr z?UZCm%L7Fufed7jfy|SkoYBYv6k{jpuxkMc%JcSIvajXQc5;?z3aeQ&g|qWG@)r}Z zmmh%00t{sigDtZ#MtmtoD>2#%Vz4V0#u!?Pv7Z>71u@w0^BA`nxg>O0CguDBhDv#4 zUhWD`BiSkgZeYmic~cu`1UNtf9OUVVviyfw>ciNK7((cB%m;EN@@c3fL9RRH^pi3l z@X5v9UVMm;=#0P(Y|lF<%O(@5(3yrs1)?*IS* literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/study_group/View/View.class b/out/production/JavaProject/ru/gb/study_group/View/View.class new file mode 100644 index 0000000000000000000000000000000000000000..f2c8bb98b6e5f8dbb872bc03f4a5c7b7d8658a65 GIT binary patch literal 180 zcmX^0Z`VEs1_nn4ZgvJHMh5AkQvLKK{o<0+l*;(@qWsbV{jki`axlTpz{1ENkd;`L zsGpOVm#*)hl$DxX!pOi{T#{G>q?t7|!x$O33yL!HN*wcw%TtRO8ALUF5E_C@fKut! zAXQw!`K3k4scxA$sf-MqAS?7h>ev_=faU<*!@$4 { private String name; diff --git a/src/ru/gb/study_group/StudentsIterator.java b/src/ru/gb/study_group/Model/Study_Group/Iterators/StudentsIterator.java similarity index 81% rename from src/ru/gb/study_group/StudentsIterator.java rename to src/ru/gb/study_group/Model/Study_Group/Iterators/StudentsIterator.java index 8a86a8a..4e937f9 100644 --- a/src/ru/gb/study_group/StudentsIterator.java +++ b/src/ru/gb/study_group/Model/Study_Group/Iterators/StudentsIterator.java @@ -1,4 +1,6 @@ -package ru.gb.study_group; +package ru.gb.study_group.Model.Study_Group.Iterators; + +import ru.gb.study_group.Model.Student.Students; import java.util.Iterator; import java.util.List; diff --git a/src/ru/gb/study_group/StudyGroup.java b/src/ru/gb/study_group/Model/Study_Group/StudyGroup.java similarity index 78% rename from src/ru/gb/study_group/StudyGroup.java rename to src/ru/gb/study_group/Model/Study_Group/StudyGroup.java index fd28b24..033facd 100644 --- a/src/ru/gb/study_group/StudyGroup.java +++ b/src/ru/gb/study_group/Model/Study_Group/StudyGroup.java @@ -1,4 +1,8 @@ -package ru.gb.study_group; +package ru.gb.study_group.Model.Study_Group; + +import ru.gb.study_group.Model.Student.Comporator.StudentsComporatorForAge; +import ru.gb.study_group.Model.Student.Students; +import ru.gb.study_group.Model.Study_Group.Iterators.StudentsIterator; import java.util.ArrayList; import java.util.Collections; diff --git a/src/ru/gb/study_group/StudyGroupElem.java b/src/ru/gb/study_group/Model/Study_Group/StudyGroupElem.java similarity index 63% rename from src/ru/gb/study_group/StudyGroupElem.java rename to src/ru/gb/study_group/Model/Study_Group/StudyGroupElem.java index 8b77b23..b05d1b3 100644 --- a/src/ru/gb/study_group/StudyGroupElem.java +++ b/src/ru/gb/study_group/Model/Study_Group/StudyGroupElem.java @@ -1,4 +1,4 @@ -package ru.gb.study_group; +package ru.gb.study_group.Model.Study_Group; public interface StudyGroupElem { String getName(); diff --git a/src/ru/gb/study_group/Presenter/Presenter.java b/src/ru/gb/study_group/Presenter/Presenter.java new file mode 100644 index 0000000..a25729e --- /dev/null +++ b/src/ru/gb/study_group/Presenter/Presenter.java @@ -0,0 +1,35 @@ +package ru.gb.study_group.Presenter; + +import ru.gb.study_group.Model.Service.Service; +import ru.gb.study_group.View.View; + +public class Presenter { + private View view; + private Service service; + + public Presenter(View view) { + this.view = view; + service = new Service(); + } + + public void addStudent(String name, int age) { + service.addStudent(name,age); + getStudentsInfo(); + } + + public void getStudentsInfo() { + String studentsInfo = service.getStudentsInfo(); + view.printAnswer(studentsInfo); + } + + + public void sortByName() { + service.sortByName(); + getStudentsInfo(); + } + + public void sortByAge() { + service.sortByAge(); + getStudentsInfo(); + } +} diff --git a/src/ru/gb/study_group/View/Console.java b/src/ru/gb/study_group/View/Console.java new file mode 100644 index 0000000..e67414d --- /dev/null +++ b/src/ru/gb/study_group/View/Console.java @@ -0,0 +1,83 @@ +package ru.gb.study_group.View; + +import ru.gb.study_group.Presenter.Presenter; + +import java.util.Scanner; + +public class Console implements View { + private Scanner scanner; + private Presenter presenter; + private boolean status; + + public Console() { + scanner = new Scanner(System.in); + presenter = new Presenter(this); + status = true; + } + + @Override + public void start() { + System.out.println("Выберите действие: "); + + while (status) { + System.out.println("1. Добавить студента."); + System.out.println("2. Получить список студентов."); + System.out.println("3. Отсортировать по имени."); + System.out.println("4. Отсортировать по возрасту."); + System.out.println("5. Закончить работу."); + + String line = scanner.nextLine(); + switch (line) { + case "1": + addStudent(); + break; + case "2": + getstudentListInfo(); + break; + case "3": + sortByName(); + break; + case "4": + sortByAge(); + break; + case "5": + finish(); + break; + default: + System.out.println("Incorrect input. "); + } + } + } + + private void finish() { + status = false; + System.out.println("До свидания."); + } + + private void sortByAge() { + presenter.sortByAge(); + } + + private void sortByName() { + presenter.sortByName(); + } + + private void getstudentListInfo() { + presenter.getStudentsInfo(); + } + + private void addStudent() { + System.out.println("Введите имя студента. "); + String name = scanner.nextLine(); + + System.out.println("Введите возраст студента. "); + String sTrage = scanner.nextLine(); + int age = Integer.parseInt(sTrage); + presenter.addStudent(name, age); + } + + @Override + public void printAnswer(String text) { + System.out.println(text); + } +} diff --git a/src/ru/gb/study_group/View/View.java b/src/ru/gb/study_group/View/View.java new file mode 100644 index 0000000..8bdece1 --- /dev/null +++ b/src/ru/gb/study_group/View/View.java @@ -0,0 +1,6 @@ +package ru.gb.study_group.View; + +public interface View { + void start(); + void printAnswer(String text); +} From 8441ef125b0354e9c569af86690b1182642d8586 Mon Sep 17 00:00:00 2001 From: Mangoost Date: Sun, 14 Apr 2024 22:30:11 +0300 Subject: [PATCH 7/7] end of seminar --- .../ru/gb/study_group/View/Console.class | Bin 2774 -> 2287 bytes .../ru/gb/study_group/View/MainMenu.class | Bin 0 -> 1802 bytes .../study_group/View/command/AddStudent.class | Bin 0 -> 734 bytes .../gb/study_group/View/command/Command.class | Bin 0 -> 752 bytes .../gb/study_group/View/command/Finish.class | Bin 0 -> 714 bytes .../View/command/GetStudentListInfo.class | Bin 0 -> 778 bytes .../study_group/View/command/SortByAge.class | Bin 0 -> 743 bytes .../study_group/View/command/SortByName.class | Bin 0 -> 741 bytes src/ru/gb/study_group/View/Console.java | 44 ++++++------------ src/ru/gb/study_group/View/MainMenu.java | 36 ++++++++++++++ .../study_group/View/command/AddStudent.java | 14 ++++++ .../gb/study_group/View/command/Command.java | 24 ++++++++++ .../gb/study_group/View/command/Finish.java | 15 ++++++ .../View/command/GetStudentListInfo.java | 14 ++++++ .../study_group/View/command/SortByAge.java | 14 ++++++ .../study_group/View/command/SortByName.java | 15 ++++++ 16 files changed, 145 insertions(+), 31 deletions(-) create mode 100644 out/production/JavaProject/ru/gb/study_group/View/MainMenu.class create mode 100644 out/production/JavaProject/ru/gb/study_group/View/command/AddStudent.class create mode 100644 out/production/JavaProject/ru/gb/study_group/View/command/Command.class create mode 100644 out/production/JavaProject/ru/gb/study_group/View/command/Finish.class create mode 100644 out/production/JavaProject/ru/gb/study_group/View/command/GetStudentListInfo.class create mode 100644 out/production/JavaProject/ru/gb/study_group/View/command/SortByAge.class create mode 100644 out/production/JavaProject/ru/gb/study_group/View/command/SortByName.class create mode 100644 src/ru/gb/study_group/View/MainMenu.java create mode 100644 src/ru/gb/study_group/View/command/AddStudent.java create mode 100644 src/ru/gb/study_group/View/command/Command.java create mode 100644 src/ru/gb/study_group/View/command/Finish.java create mode 100644 src/ru/gb/study_group/View/command/GetStudentListInfo.java create mode 100644 src/ru/gb/study_group/View/command/SortByAge.java create mode 100644 src/ru/gb/study_group/View/command/SortByName.java diff --git a/out/production/JavaProject/ru/gb/study_group/View/Console.class b/out/production/JavaProject/ru/gb/study_group/View/Console.class index 5610d1959790ed85637fbdf347e5f2ef683b480f..f0ea40edeb2373e61f27753a25b190c7755c46aa 100644 GIT binary patch literal 2287 zcmZ`)TU!%X6kR8YW{4w~cqwu-pw=W<1}mb1qDX6-HmGeZt=3kDFor>xq%)H$Z`D5b zf$#I{i@%_+$VY%)P6&jPshKDgfezoO?3#;OF0WgbVYeWL15v0d z4x;r9l-#o88cPBp(-Jt6^>3O*En}6+ZqBt0eQ7*~DB7j}4uQ^OQ5e)$}yZmQW8xGoY<3SAW*<{P{kR1AfPM-AOihOsQMx9 z_#w#{G!?@*%bF;bSt55yN?mMsY#KMO~p1%@NTA6Ic1S7=)>Tq%jb z;bf|o{@up1;I68;CQTK~cTM^g&-}pGy;biuHCY*wC3aKAE!luAPSJL+ zFHaUos1skP_)?z6YNt2#CI9%2im&8x8{^Ee1z569#(Gp#@U=kFdqMmPWe)V-^8Tu> z&};R1^=DuF*OY#BD52o4!0_AFYu>iE$z-j{3r%iGTHmU;kMBrJpPLK(Gq@&cVc=0b z5a`~cc4c8vpsC^pLSuWVJW3hg+n`FzNo#T$a_aC#FW{U@S#*U++wwhH3hb>8K1R|UQ4 zNCo{oI3*8GSCD?iJ0a+Nb`c9`B~BaSXh$D9IDq2N$Z3{e)EYkWnBz{ssQZ3NgfP#} zuVE*#-pB)5D^Z(yu;7T>@`c5n-mSLAWe20r=izkeiwuuousA%P()I7SLx z=s`CF?m-H@I7>Ps6hab7(EcQUFpp3mjTG(YVUhv~1mqU@P63rcet%r2d5tzwqSkbn zB1o>ElUGB4RzHXVih6?RCwB$iS`V7NNsNa?8RaU`6vooKf$0X0{FMTyIb4#vFqAq5 zJGnW=?YA)oiE*YW#^PQWxwkPiVhlIMxL?OuVdN2V)}$yiyOJgM-!%5qXPCSR8So%O zzSnToM<>8JrecJZGs@9$foZzPF?b0>81vnyYc2vA+L_EHKYB$}r_A p@n%hEnKmh?LNbGIB&;U%1btuiJshps1s-IF{NQ^Kuz5cO=YQ=#9@78- literal 2774 zcma)8No*Tc82+B)#1nV2)NRvrNpa|wIIi8KNjK9h4Yas*x}^jXXv-v-I&PD3Iv%$T zYZstEkt$V4s24a!a7v>(4PC;W(^x{{fW!fb0}=-W7bK*X?~R?c7Gjb&Z~iy$|NiZJ z|M>eS4`u*#;HDQY6nWrQQH&CS%5&O9Ej+9l@$k|9bNYZKQ1U{;NLZ}`MRoN(9w-9K zolR*gF&yq5&tfI9ICkYNlJjzdis#@L zC>@;z6WCfnZ_dKJt%!{Bc@-P6iFr?1nw3roh(4L#Eh@I6j#WseS(N!q9y1fhY$g>1 z1UA~Yvp4O#b|!npp3YvgGk*J?ow2{oUZpT;PurQjelLR9=0QkB7~7em*|IDEV+uzl z^sua3zA6qcSha)^XRr#In8e1A-~Qa5p}`4>p1qd+%r8x4uRCTR)96G*{lCTbL;?+R@>`eifZ~aq;1BQb~j%Ej84c93%n{SyaIRR=rW`y{saNLnMQK zA*~IQ42w#UJED>LJ_RvqG$}a3X@`PioSGG!;MC$Jr%tMPMILXjHaOVLGeeHcC~xy#MFc>lZW(+i#|Biew^rgEXVt;OyLgY1!27ed#Mku2&9$eK*zBvHLPOvl zYVY7rDK=7+^N#%7lAm|w=RKUc-8Y3utf9-*8k|DgH^ds`Xyj<&sO1QA?Bh7h(Hr!= zG=+nAu&=0f9J_+Olf`4chr$qlu#-U`i?tNv8T008sT*?H#z>x zEH-d7aqQt}4@{wZ99uc{jKj~VcN}Xty)n)#PT|ZrmdV)q8N>L~GMUCA$Tapbk-$op zq>2e#&A)0EYYo3gYZ=Ho>_QFNm|U9${DI;9$Rz*7BL0jm_=UTEMLm8)0KfCA^9Q!! zFKYe6bUdMJvJ_QJcpDz!3a&auewr`JHNIPq3grpTc+k#&QO3)=sYG6X!{eeJdrqDr z?UZCm%L7Fufed7jfy|SkoYBYv6k{jpuxkMc%JcSIvajXQc5;?z3aeQ&g|qWG@)r}Z zmmh%00t{sigDtZ#MtmtoD>2#%Vz4V0#u!?Pv7Z>71u@w0^BA`nxg>O0CguDBhDv#4 zUhWD`BiSkgZeYmic~cu`1UNtf9OUVVviyfw>ciNK7((cB%m;EN@@c3fL9RRH^pi3l z@X5v9UVMm;=#0P(Y|lF<%O(@5(3yrs1)?*IS* diff --git a/out/production/JavaProject/ru/gb/study_group/View/MainMenu.class b/out/production/JavaProject/ru/gb/study_group/View/MainMenu.class new file mode 100644 index 0000000000000000000000000000000000000000..3bea1fdbd797ee0a6f394d75bf7ad8299991bcb5 GIT binary patch literal 1802 zcmah~S##4?7(Lf^k)tRJ2~L0*vO!|U5S6V9N>ZFah+8|fHMJY)CQHJ(!I3<&)HZ$Y zFX>BP+nLsxkeLoIyzrBlY2mw)O&mI!jAyhQeardIJ@@+Mf6x8_kjHm2Vu(vfD0mO2 z7>0NBA9b~%+jaFpZO1Y^hEq%2=H3cJJd>?RNHUBDLB7WuYTkAAy&`XUG9<+N&<{nz zfPz5`F-*F?TCb@s&o}qJue*-lR4d&2NiFHzE?KtE&~G@qySi!KR9GOIgwqV! zh$@{_HE)__>R{Q#VHl%gkTVRknPNoVnq#+|hNWdI{TRczgtH3H;XK3O@$NLRZki0K zOh~Io6fOHmLYm=PM2jx9`hp$axiaPv7lP#!T)|a_M2r7o z1*Ry7Z>oa#agE%fH=CACvZXVHY>#lqifKvQV2CYFiOgFf^8<#fy*h{CT66_L(f7P?S|h7|>$;0~FAYTmV4hRd5CcWj0;ng5faIaV2% zEXKI2;GRfKdQM1QRJ*TWLu@O_`q?skkM!y*^SZ5jzDv)y-|_oWlx4eq>hRQ7G}3>~ zF{#E-k=xd$zgx51hkC6+$VkyK^hQN@xp?n@32&RX7^b5-bhjiGmW*(NFib^7cefA) zlT6`OW}K8L(5kj-4Cf+Oo?)Qu>BiHN-t1DNb*qqZjBSS-#Gm>HX98`JsQ&Nj!626% z-!-gtE)*E(PO~V?Ok1I!4mp6N5$6)!3-lJlr-;)tofdTcjF4wY1aUhH`(O))khb>G z_c!E)zaSrCcq_M$kprY+sD{XdKrZwm7X>oai%bh-wimf1khu`~GvHCA>kN`~Rfxd= zF&re$L%2c5**%;_m3VWEqC^p6Awz890lfh`_#9sle}*q{r!&U^%@wC_r9;fq2-#wM zIV~6;V1eN`+{~pDKeVw}&5c}d<7PD{zNHWFVGPfqwXqz4BYAQAHO78_{UX=K+8PP-aB94etH_YiD?w4vhkk}!M8T)+wqca1C2o5R zvdO&;h+!d{`_D|q00t$b6%1jRVK&0*3n^ON;o$^4Y-zDEtnWyg1Q zzGH>mq`rr_8g35rw2K7&8z2U%!U&zCq_z;J2#{P!v-~6CH?52@I^}kpa(ggNdbFb_ tFiDCkFokKNFw9`MLtAg@koJI{2c&+}!VlQjqA8RaGTJoS7^xWMJ^)F1#3=v( literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/study_group/View/command/Command.class b/out/production/JavaProject/ru/gb/study_group/View/command/Command.class new file mode 100644 index 0000000000000000000000000000000000000000..772c2b8099a1fcb2ac21ee2dc28f8b6b9a862bee GIT binary patch literal 752 zcmah`%Syvg5IqxPW7F7bd_So!q^)9Bt`tEku8J;{f-6bWOT5x1k|sX>NdLvek0g>ma`MG+UdaOLc$trP>>) zw*3mDw)2X~XHIFDVQVu0$g?%s7EoleSnFYlwO{f literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/study_group/View/command/Finish.class b/out/production/JavaProject/ru/gb/study_group/View/command/Finish.class new file mode 100644 index 0000000000000000000000000000000000000000..45e0fd2dc3b659152a2d28abe5c769aef4422c64 GIT binary patch literal 714 zcmaiyKTpC?6vfX2q)@9UBL3H^Q9%4GsD5+~xKVKt>ZOAWN9wEo$Q4leF~4PDfb z$OmvLU&we%tBEF!%X>K|_x?_M@B8@dbOG!`P9er1dyn3e*YUdEd+*+R>)rMql59!+;gRB@JmIrS}oPAE9Ky3NbVS>;p{SO z6)I=yg{m}FQ&)~0+c5P~C4y46%(m6!rD9cth(Q68gdq$wtVA??#~x5vyTKsp+zBBJ zONHWpK_W&lDj+Li3^|7Rh?pN_@-z&J7m8Je<-&gfepRAu)j30^Vwn8UZPmDatk#<3 zWGj}YHmj;__&PKbPQz$3tVNN3|8j{z(1NMaGNXFF=Ss!=ifgVz;o_0y+8RGF{4W^{ z2Ds^O3X3%R1icX;2I{~#oq1Awh?4`P*0XHm74heO#RQ#V;8SfHlce*Zp29RK>c9+U liNY|4Tu9sQYoGRl^b0b7X+uOC?$acy^cew-wnQq1g)c9(yBq)j literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/study_group/View/command/GetStudentListInfo.class b/out/production/JavaProject/ru/gb/study_group/View/command/GetStudentListInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..ef24faa3f7e0125b3ba6a1a58af1b5585ed6e142 GIT binary patch literal 778 zcmaiy%TC)+5QhJgq&OIdv>{wtZYhi}2Qzdrg9QU#e zEV}7C@C;NfAP}%;Wxr6>IY~f*%F5>0|F4;EMl*B$_v{kDJCw3WF|0+0(PeZVAH+YR z(|AArS&Dnn75(Ew(YrQT?WE)t5yP~=6hYg&8wA$4jmI3 z3(j@_0U&})AK zzX3P^;$ZHa)_(|fHVGhsEH1lxU(GzTJ2Owu4>5o}=y_xqHpFFek(`S-IZH0YeR3vZ zaU-tC`=^UX5$mL4aYz1Da!&4FT}2K93I;VO$TO@4k?AzdP8c;$kDS1dPRzQ?f19@7 zZd+c{tn_Y%!EM)b!ySfAqx#eOWtlC@bIe*8xSmt4rcf%r*YR7tT&k;3F|0t-FoIDA zBPHRbY|RhC{nI^%GpG&^`y7U4qx4xV6=N7zP}DGiNruIgO0USF&RealQK~bn7@yUU zQMroWq~{f?uE!6ec7q3pR-;8uvFh7at8N9Z)O|A-9=jcewKVdFkCzz~yVpJjJuU5} z!4%B@a61ZR!)ksM*!+hpA2a&e$#pq3e4{z!Xn}wXC<#+^PLtY2mK-3zR%GArkiG6k z%+RTJeMPPdzL1{o#o;SvNl^yoFi#YQ1x)s7TU{+_w-~xb;XO?*-$<9HQKV$_Xf!TT H87%z=Ey~Ku literal 0 HcmV?d00001 diff --git a/out/production/JavaProject/ru/gb/study_group/View/command/SortByName.class b/out/production/JavaProject/ru/gb/study_group/View/command/SortByName.class new file mode 100644 index 0000000000000000000000000000000000000000..dd5b72ddcda4bacbe09a77cf090b36017caccd3c GIT binary patch literal 741 zcmaiyPfy}d6vfX2q*#k6qBH*Q%p?;Slj%w~7~>3yE5ZiD)|B#6YoIlyb%ve8+Rreb zVa7xyMse@z^$Qtq0slnPuzAfnx%YS8ySMib*L?s#pr#OG*bsk%ZtzF+gVUfZdcmpa zi*xahyfanYiM}d&;znGEThUWxBrqW%sX#)C;j8OwW?gH0exq|>x{iOW)hzx?Gn`gS zw;Nh%_+?0LTejuxFl^?_NBW7bHFew6s-A1vX0aSWDLHoAY4T#BCPT)Q1Vup_(+q`( zhNsx7<9a_k6}`n7WRrU%5X0wuVO*Gu8O%z^Dwso#VJ#x+87a44g~juQ8pD_TxR9_a zQF0n|zf9S(dBtzlxx25|o8)B6j-fYex@(1cWG1{rt4+I#BENrnkwG$s6J$`M`krP? z#r!und@meX)$v_}?^)q(GB3mY9&QewXcr0keSjFK3-fd?klIC@93b^A%QmhM|39es zK&L$Psdf?{NiU4_B9=%|2bQry6oysgMzpPg4r!N|yhP?LElsrP0ZpOGkTImu#z@7m F{s;^V$msw8 literal 0 HcmV?d00001 diff --git a/src/ru/gb/study_group/View/Console.java b/src/ru/gb/study_group/View/Console.java index e67414d..9415f97 100644 --- a/src/ru/gb/study_group/View/Console.java +++ b/src/ru/gb/study_group/View/Console.java @@ -2,17 +2,20 @@ import ru.gb.study_group.Presenter.Presenter; +import javax.xml.transform.Source; import java.util.Scanner; public class Console implements View { private Scanner scanner; private Presenter presenter; private boolean status; + private MainMenu mainMenu; public Console() { scanner = new Scanner(System.in); presenter = new Presenter(this); status = true; + mainMenu = new MainMenu (this); } @Override @@ -20,53 +23,32 @@ public void start() { System.out.println("Выберите действие: "); while (status) { - System.out.println("1. Добавить студента."); - System.out.println("2. Получить список студентов."); - System.out.println("3. Отсортировать по имени."); - System.out.println("4. Отсортировать по возрасту."); - System.out.println("5. Закончить работу."); - - String line = scanner.nextLine(); - switch (line) { - case "1": - addStudent(); - break; - case "2": - getstudentListInfo(); - break; - case "3": - sortByName(); - break; - case "4": - sortByAge(); - break; - case "5": - finish(); - break; - default: - System.out.println("Incorrect input. "); - } + System.out.println(mainMenu.getMenu()); + String strChoice = scanner.nextLine(); + // check for validation input values + int choice = Integer.parseInt(strChoice); + mainMenu.execute(choice); } } - private void finish() { + public void finish() { status = false; System.out.println("До свидания."); } - private void sortByAge() { + public void sortByAge() { presenter.sortByAge(); } - private void sortByName() { + public void sortByName() { presenter.sortByName(); } - private void getstudentListInfo() { + public void getstudentListInfo() { presenter.getStudentsInfo(); } - private void addStudent() { + public void addStudent() { System.out.println("Введите имя студента. "); String name = scanner.nextLine(); diff --git a/src/ru/gb/study_group/View/MainMenu.java b/src/ru/gb/study_group/View/MainMenu.java new file mode 100644 index 0000000..65966a0 --- /dev/null +++ b/src/ru/gb/study_group/View/MainMenu.java @@ -0,0 +1,36 @@ +package ru.gb.study_group.View; + +import ru.gb.study_group.View.command.*; + +import java.util.ArrayList; +import java.util.List; + +public class MainMenu +{ + private final List commandList; + + public MainMenu(Console console) { + commandList = new ArrayList<>(); + commandList.add(new AddStudent(console)); + commandList.add(new GetStudentListInfo(console)); + commandList.add(new SortByAge(console)); + commandList.add(new SortByName(console)); + commandList.add(new Finish(console)); + } + + public String getMenu(){ + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < commandList.size(); i++) { + sb.append(i+1); + sb.append(". "); + sb.append(commandList.get(i).getDescription()); + sb.append("\n"); + } + return sb.toString(); + } + + public void execute(int choice){ + Command command = commandList.get(choice - 1); + command.execute(); + } +} diff --git a/src/ru/gb/study_group/View/command/AddStudent.java b/src/ru/gb/study_group/View/command/AddStudent.java new file mode 100644 index 0000000..a3631b7 --- /dev/null +++ b/src/ru/gb/study_group/View/command/AddStudent.java @@ -0,0 +1,14 @@ +package ru.gb.study_group.View.command; + +import ru.gb.study_group.View.Console; + +public class AddStudent extends Command { + + public AddStudent(Console console) { + super("Добавить сттудента ", console); + } + @Override + public void execute(){ + getConsole().addStudent(); + } +} diff --git a/src/ru/gb/study_group/View/command/Command.java b/src/ru/gb/study_group/View/command/Command.java new file mode 100644 index 0000000..ddf641f --- /dev/null +++ b/src/ru/gb/study_group/View/command/Command.java @@ -0,0 +1,24 @@ +package ru.gb.study_group.View.command; + +import ru.gb.study_group.View.Console; + +public abstract class Command { + private final String description; + private final Console console; + + public Command(String description, Console console) { + this.description = description; + this.console = console; + } + + public String getDescription() { + return description; + } + + Console getConsole() { + return console; + } + + public abstract void execute(); + +} diff --git a/src/ru/gb/study_group/View/command/Finish.java b/src/ru/gb/study_group/View/command/Finish.java new file mode 100644 index 0000000..f5a6f22 --- /dev/null +++ b/src/ru/gb/study_group/View/command/Finish.java @@ -0,0 +1,15 @@ +package ru.gb.study_group.View.command; + +import ru.gb.study_group.View.Console; + +public class Finish extends Command{ + + public Finish(Console console){ + super("Закончить работу ", console); + } + + @Override + public void execute() { + getConsole().finish(); + } +} diff --git a/src/ru/gb/study_group/View/command/GetStudentListInfo.java b/src/ru/gb/study_group/View/command/GetStudentListInfo.java new file mode 100644 index 0000000..339c0bd --- /dev/null +++ b/src/ru/gb/study_group/View/command/GetStudentListInfo.java @@ -0,0 +1,14 @@ +package ru.gb.study_group.View.command; + +import ru.gb.study_group.View.Console; + +public class GetStudentListInfo extends Command{ + public GetStudentListInfo(Console console) { + super("Получить список студентов", console); + } + + @Override + public void execute() { + getConsole().getstudentListInfo(); + } +} diff --git a/src/ru/gb/study_group/View/command/SortByAge.java b/src/ru/gb/study_group/View/command/SortByAge.java new file mode 100644 index 0000000..6531fa9 --- /dev/null +++ b/src/ru/gb/study_group/View/command/SortByAge.java @@ -0,0 +1,14 @@ +package ru.gb.study_group.View.command; + +import ru.gb.study_group.View.Console; + +public class SortByAge extends Command{ + public SortByAge(Console console){ + super("Отсортировать по возрасту ", console); + } + + @Override + public void execute() { + getConsole().sortByAge(); + } +} diff --git a/src/ru/gb/study_group/View/command/SortByName.java b/src/ru/gb/study_group/View/command/SortByName.java new file mode 100644 index 0000000..d79a13c --- /dev/null +++ b/src/ru/gb/study_group/View/command/SortByName.java @@ -0,0 +1,15 @@ +package ru.gb.study_group.View.command; + +import ru.gb.study_group.View.Console; + +public class SortByName extends Command { + + public SortByName(Console console){ + super ("Отсортировать по имени ", console); + } + + @Override + public void execute() { + getConsole().sortByName(); + } +}