From b08f840b9978e756c924e3e39dac924e106f13fc Mon Sep 17 00:00:00 2001 From: Francisco Ismael Farrando <121203370+franciscofarrando@users.noreply.github.com> Date: Mon, 14 Apr 2025 16:15:25 +0200 Subject: [PATCH 01/20] Inicio --- .gitignore | 1 + homework-java.iml | 9 +++++++++ homework-java/pom.xml | 17 +++++++++++++++++ .../src/main/java/com/example/Main.java | 17 +++++++++++++++++ 4 files changed, 44 insertions(+) create mode 100644 .gitignore create mode 100644 homework-java.iml create mode 100644 homework-java/pom.xml create mode 100644 homework-java/src/main/java/com/example/Main.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..57f1cb2a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/.idea/ \ No newline at end of file diff --git a/homework-java.iml b/homework-java.iml new file mode 100644 index 00000000..bfced71f --- /dev/null +++ b/homework-java.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/homework-java/pom.xml b/homework-java/pom.xml new file mode 100644 index 00000000..27f9a934 --- /dev/null +++ b/homework-java/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + com.example + homework-java + 1.0-SNAPSHOT + + + 21 + 21 + UTF-8 + + + \ No newline at end of file diff --git a/homework-java/src/main/java/com/example/Main.java b/homework-java/src/main/java/com/example/Main.java new file mode 100644 index 00000000..71e405f4 --- /dev/null +++ b/homework-java/src/main/java/com/example/Main.java @@ -0,0 +1,17 @@ +package com.example; + +//TIP To Run code, press or +// click the icon in the gutter. +public class Main { + public static void main(String[] args) { + //TIP Press with your caret at the highlighted text + // to see how IntelliJ IDEA suggests fixing it. + System.out.printf("Hello and welcome!"); + + for (int i = 1; i <= 5; i++) { + //TIP Press to start debugging your code. We have set one breakpoint + // for you, but you can always add more by pressing . + System.out.println("i = " + i); + } + } +} \ No newline at end of file From df023d83964ba9aef1641526b586f4f5ab2a9d22 Mon Sep 17 00:00:00 2001 From: Francisco Ismael Farrando <121203370+franciscofarrando@users.noreply.github.com> Date: Mon, 14 Apr 2025 16:53:50 +0200 Subject: [PATCH 02/20] git ignore --- .gitignore | 2 +- homework-java.iml | 9 --------- 2 files changed, 1 insertion(+), 10 deletions(-) delete mode 100644 homework-java.iml diff --git a/.gitignore b/.gitignore index 57f1cb2a..61069b7a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/.idea/ \ No newline at end of file +/.idea/* \ No newline at end of file diff --git a/homework-java.iml b/homework-java.iml deleted file mode 100644 index bfced71f..00000000 --- a/homework-java.iml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file From 9972f1574bc40921b13e0b3d1773dfa592de4026 Mon Sep 17 00:00:00 2001 From: Francisco Ismael Farrando <121203370+franciscofarrando@users.noreply.github.com> Date: Mon, 14 Apr 2025 17:06:04 +0200 Subject: [PATCH 03/20] clase Course OK con getters setters y const --- homework-java.iml | 9 ---- .../src/main/java/com/example/Course.java | 43 +++++++++++++++++++ 2 files changed, 43 insertions(+), 9 deletions(-) delete mode 100644 homework-java.iml create mode 100644 homework-java/src/main/java/com/example/Course.java diff --git a/homework-java.iml b/homework-java.iml deleted file mode 100644 index bfced71f..00000000 --- a/homework-java.iml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/homework-java/src/main/java/com/example/Course.java b/homework-java/src/main/java/com/example/Course.java new file mode 100644 index 00000000..2c80e047 --- /dev/null +++ b/homework-java/src/main/java/com/example/Course.java @@ -0,0 +1,43 @@ +package com.example; + +public class CourseClass { + private String courseId; + private String name; + private double price; + private double money_earned; + // private Teacher teacher; + + //constructor de name y price + + + public CourseClass(String name, double price) { + this.name = name; + this.price = price; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } + + @Override + public String toString() { + return "CourseClass{" + + "courseId='" + courseId + '\'' + + ", name='" + name + '\'' + + ", price=" + price + + ", money_earned=" + money_earned + + '}'; + } +} From ceef0ffee09a7e6d98bcff5cfc5107f410c40cbb Mon Sep 17 00:00:00 2001 From: Francisco Ismael Farrando <121203370+franciscofarrando@users.noreply.github.com> Date: Mon, 14 Apr 2025 17:09:36 +0200 Subject: [PATCH 04/20] course OK --- .../src/main/java/com/example/Course.java | 27 +++++++++++++++---- .../src/main/java/com/example/Main.java | 9 +------ 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/homework-java/src/main/java/com/example/Course.java b/homework-java/src/main/java/com/example/Course.java index 2c80e047..67d840f3 100644 --- a/homework-java/src/main/java/com/example/Course.java +++ b/homework-java/src/main/java/com/example/Course.java @@ -1,6 +1,6 @@ package com.example; -public class CourseClass { +public class Course { private String courseId; private String name; private double price; @@ -8,13 +8,14 @@ public class CourseClass { // private Teacher teacher; //constructor de name y price - - - public CourseClass(String name, double price) { + public Course(String name, double price) { this.name = name; this.price = price; } + + //getters y setters + public String getName() { return name; } @@ -22,7 +23,7 @@ public String getName() { public void setName(String name) { this.name = name; } - +/* public double getPrice() { return price; } @@ -31,6 +32,22 @@ public void setPrice(double price) { this.price = price; } + public String getCourseId() { + return courseId; + } + + public void setCourseId(String courseId) { + this.courseId = courseId; + } + + public double getMoney_earned() { + return money_earned; + } + + public void setMoney_earned(double money_earned) { + this.money_earned = money_earned; + } +*/ @Override public String toString() { return "CourseClass{" + diff --git a/homework-java/src/main/java/com/example/Main.java b/homework-java/src/main/java/com/example/Main.java index 71e405f4..81d687e8 100644 --- a/homework-java/src/main/java/com/example/Main.java +++ b/homework-java/src/main/java/com/example/Main.java @@ -4,14 +4,7 @@ // click the icon in the gutter. public class Main { public static void main(String[] args) { - //TIP Press with your caret at the highlighted text - // to see how IntelliJ IDEA suggests fixing it. - System.out.printf("Hello and welcome!"); - for (int i = 1; i <= 5; i++) { - //TIP Press to start debugging your code. We have set one breakpoint - // for you, but you can always add more by pressing . - System.out.println("i = " + i); - } + } } \ No newline at end of file From aaf5c3303979bd9a0640316311bbf4146ef42e68 Mon Sep 17 00:00:00 2001 From: Francisco Ismael Farrando <121203370+franciscofarrando@users.noreply.github.com> Date: Mon, 14 Apr 2025 17:32:12 +0200 Subject: [PATCH 05/20] const vacio creado --- homework-java/src/main/java/com/example/Course.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/homework-java/src/main/java/com/example/Course.java b/homework-java/src/main/java/com/example/Course.java index 67d840f3..1f1fc9b5 100644 --- a/homework-java/src/main/java/com/example/Course.java +++ b/homework-java/src/main/java/com/example/Course.java @@ -1,5 +1,7 @@ package com.example; +import java.util.UUID; + public class Course { private String courseId; private String name; @@ -12,7 +14,11 @@ public Course(String name, double price) { this.name = name; this.price = price; } + //Constructor vacio para UUID + public Course() { + this.courseId = UUID.randomUUID().toString(); + } //getters y setters From 290144ed7ac854a6f82a833b7542b62c16d0f1fb Mon Sep 17 00:00:00 2001 From: Irenevn16 Date: Mon, 14 Apr 2025 17:33:07 +0200 Subject: [PATCH 06/20] teacher class --- .../src/main/java/com/example/Teacher.java | 39 ++++++++++++++++++ .../target/classes/com/example/Main.class | Bin 0 -> 1153 bytes .../target/classes/com/example/Teacher.class | Bin 0 -> 1827 bytes 3 files changed, 39 insertions(+) create mode 100644 homework-java/src/main/java/com/example/Teacher.java create mode 100644 homework-java/target/classes/com/example/Main.class create mode 100644 homework-java/target/classes/com/example/Teacher.class diff --git a/homework-java/src/main/java/com/example/Teacher.java b/homework-java/src/main/java/com/example/Teacher.java new file mode 100644 index 00000000..fa6aadc9 --- /dev/null +++ b/homework-java/src/main/java/com/example/Teacher.java @@ -0,0 +1,39 @@ +package com.example; + +import java.util.UUID; + +public class Teacher { + private String teacherId; //UUID + private String name; + private double salary; + + public Teacher (String name, double salary) { + setName(name); + setSalary(salary); + } + public Teacher(){ + this.teacherId = UUID.randomUUID().toString(); + } + + public String getTeacherId() { + return teacherId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getSalary() { + return salary; + } + + public void setSalary(double salary) { + this.salary = salary; + } + + +} diff --git a/homework-java/target/classes/com/example/Main.class b/homework-java/target/classes/com/example/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..3414b65a1048cb0a69e663e265a80bc530ee5982 GIT binary patch literal 1153 zcmaJ=T~8B16g|_HZd(?L1&WAbQ9fE!*6*)Y6Kz5uDQZ#z4?Ydc2t#*wn%yai&;AJC zeehWyFd@+&;BWC47^B|ZZnQ|_COaQz&pr3tJF{PZ9(@7u2(=s%NE%3)7(kj~WRLH2 z%i-RR^>k}b*qR|-lb+NM8ItA7Miv=l4dhG=!aPQA9t2vr#8Mp!8gE2GQd!S@>FK8S z1$V0%3^No~gyX0Z_qIzfg<~sM%;YeFQw9nqMlr@P+9#HLv_qvA47GAsJaS3O(%Y#% z?}56;tChYM3RHH{!~{+=Ot`!y>dLdZ-jsTmR)OZ84#<9aH4g7h652dtVhU#&jL41S zh1{Opv7O3>foWnSyXrH&&gx*!#K?WAXfGj;Iv3wfWa=4Bg25yF}y~Qy5_Z~@aU$unQ zb=K|nGPkwz4;bF|_AVxN^;hVAI3k#BDAnq;t0!CBgB%N7KWK|S^xo=^Uy$g8V~IL< zoTk)*+H07Ro14qOnNQq0|ul-D4OgY!LHw>BDqIlFZZL&SN1;ynr$)gfB)B ki66+b??g)C5&;QZ#ub_~M7>Jy5^mEjN2@!yhbkt21Nyxo#Q*>R literal 0 HcmV?d00001 diff --git a/homework-java/target/classes/com/example/Teacher.class b/homework-java/target/classes/com/example/Teacher.class new file mode 100644 index 0000000000000000000000000000000000000000..2063f6b21d35c600d09cae474221d5b3285d512c GIT binary patch literal 1827 zcmaJ?+j1L45IrNwT1gp8MvgDRAvTE<%Q9pMccNfOBuqpU=OQ_m;%O{R*&DBRRlB1U z{uBO!OJRo!ReS&+MWttUZOPHX%iOlR&*{@Wv;X}2`fmWY@vMLp(iSotQ^+#Rybv#i z?Fw(tez5yOb`?YRmg6~UlObJMe^NjWc?$)ObKnfKUB7S3pG1G)O1mRPcV7k!Rw&iB z=u3vVN^2Cbtpdl}t3^SI93{*!f05$?-et%sKLTYqe`0BJi>c%(n~NOp;Sv#15&dS5p*+c2 zo33!YuT3)^C8rOraIE4gNfgEzu!a^Woks=h7OET@_~4AF?ZZ&XK56L>N!qyx$MNll zB#k0gQuHZ<9IkWNIs?8ZRjg~XSEiEP;P@DyFf8=Nfvo#pSE#3s+NV{hgr`D=Ye||< zCRD&@_}s!59ABDB8lBHFp-K)kFV|z3Pl!s@A~EWIk1AbiIiB1e_IG8_5xXv(lv{pR zxKBjj=zV;cQTq;YoNFaCPL1#=-KcZ&v^wbvYCI}@rY{^rIFDzhcJ%GaI!^SFAkVT5y+y4jWCYRmTzhJ)HBBvy(7O41_{@;{tMwA!b zn;bnfK$=FnZnR42yJTj%LNw>V=n49Y#+$TzPL>&(OVw9k)s16V)ygrZe=`m>8q4N$ zfyQ&lgQJLP+@kXpawIo=jZK>MO2aU-(m*K#lZ|0+oBavQpLpjO3rAQQ!4yrnBEggh zV#Yx5I9vq5^hJ%s*)(gYsp=nC`jr+bXs#L!m>qMTiuo~oljywsw(~-wGrhqv@+LuP zeY4e#BP@^j>*pO*AE2wBr#{0q6~uW+sPJJzTbK75UjfMa|*iXN3| xjhd)}1+0%DETVz$C`OJLZc$Ir(~Iv-PIu8X=L{`6{Q-|@SD;lJJ9vr Date: Mon, 14 Apr 2025 17:39:24 +0200 Subject: [PATCH 07/20] Class Student created --- .../src/main/java/com/example/Student.java | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 homework-java/src/main/java/com/example/Student.java diff --git a/homework-java/src/main/java/com/example/Student.java b/homework-java/src/main/java/com/example/Student.java new file mode 100644 index 00000000..85749487 --- /dev/null +++ b/homework-java/src/main/java/com/example/Student.java @@ -0,0 +1,76 @@ +package com.example; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + +public class Student { + private static final Set usedIds = new HashSet<>(); + + private final String studentId; + private String name; + private String address; + private String email; + private Course course; + + + public Student(String name,String address,String email) { + this.studentId = generateUniqueStudentId(); + this.name = name; + this.address = address; + this.email = email; + this.course = null; + } + public Student(){ + this.studentId = generateUniqueStudentId(); + } + + + private String generateUniqueStudentId(){ + String id= ""; + do{ + id=UUID.randomUUID().toString(); + } while (usedIds.contains(id)); + usedIds.add(id); + return id; + } + + public String getStudentId() { + return studentId; + } + + public Course getCourse() { + return course; + } + + public void setCourse(Course course) { + this.course = course; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getName() { + return name; + } + + public void setName(String name) { + if (!name.matches("[a-zA-ZáéíóúÁÉÍÓÚñÑ ]+")) { + throw new IllegalArgumentException("El nombre no puede contener números ni caracteres especiales."); + } + this.name = name; + } +} + From 3ea805cf5abfce39e34057d4d289c3cdffa3176d Mon Sep 17 00:00:00 2001 From: Francisco Ismael Farrando <121203370+franciscofarrando@users.noreply.github.com> Date: Tue, 15 Apr 2025 12:23:21 +0200 Subject: [PATCH 08/20] dev branch created --- homework-java/src/main/java/com/example/Main.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homework-java/src/main/java/com/example/Main.java b/homework-java/src/main/java/com/example/Main.java index 81d687e8..182805d1 100644 --- a/homework-java/src/main/java/com/example/Main.java +++ b/homework-java/src/main/java/com/example/Main.java @@ -5,6 +5,6 @@ public class Main { public static void main(String[] args) { - +//comentario } } \ No newline at end of file From 376c536443d5679e2bcc8a0474e4aa4ffe6c5202 Mon Sep 17 00:00:00 2001 From: Irenevn16 Date: Tue, 15 Apr 2025 13:29:33 +0200 Subject: [PATCH 09/20] comienzo scanner --- .../src/main/java/com/example/Menu.java | 42 ++++++++++++++++++ .../target/classes/com/example/Main.class | Bin 1153 -> 0 bytes .../target/classes/com/example/Teacher.class | Bin 1827 -> 0 bytes 3 files changed, 42 insertions(+) create mode 100644 homework-java/src/main/java/com/example/Menu.java delete mode 100644 homework-java/target/classes/com/example/Main.class delete mode 100644 homework-java/target/classes/com/example/Teacher.class diff --git a/homework-java/src/main/java/com/example/Menu.java b/homework-java/src/main/java/com/example/Menu.java new file mode 100644 index 00000000..955fd288 --- /dev/null +++ b/homework-java/src/main/java/com/example/Menu.java @@ -0,0 +1,42 @@ +package com.example; + +import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; + +public class Menu { + + + Scanner myScanner = new Scanner(System.in); + + public void CreatingSchool () { + System.out.println("Please, enter a name for the new school: "); + String schoolName = myScanner.nextLine(); + //hay que crear la clase School? + + System.out.println("Now, we need some teachers for your school " + schoolName + ". How wany teachers should be created? Please enter a number."); + int numberOfTeachers = myScanner.nextInt(); + myScanner.nextLine(); + + List teachers = new ArrayList<>(); + + for (int i = 0; i < numberOfTeachers; i++) { + System.out.println("\nEnter the details for teacher " + i); + + System.out.println("Name: "); + String name = myScanner.nextLine(); + + System.out.println("Salary: "); + double salary = myScanner.nextDouble(); + myScanner.nextLine(); + + Teacher teacher = new Teacher(name, salary); + teachers.add(teacher); + + System.out.println("Teacher " + i + "added."); + } + System.out.println(numberOfTeachers + "teachers created for " + schoolName); + + + } + } diff --git a/homework-java/target/classes/com/example/Main.class b/homework-java/target/classes/com/example/Main.class deleted file mode 100644 index 3414b65a1048cb0a69e663e265a80bc530ee5982..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1153 zcmaJ=T~8B16g|_HZd(?L1&WAbQ9fE!*6*)Y6Kz5uDQZ#z4?Ydc2t#*wn%yai&;AJC zeehWyFd@+&;BWC47^B|ZZnQ|_COaQz&pr3tJF{PZ9(@7u2(=s%NE%3)7(kj~WRLH2 z%i-RR^>k}b*qR|-lb+NM8ItA7Miv=l4dhG=!aPQA9t2vr#8Mp!8gE2GQd!S@>FK8S z1$V0%3^No~gyX0Z_qIzfg<~sM%;YeFQw9nqMlr@P+9#HLv_qvA47GAsJaS3O(%Y#% z?}56;tChYM3RHH{!~{+=Ot`!y>dLdZ-jsTmR)OZ84#<9aH4g7h652dtVhU#&jL41S zh1{Opv7O3>foWnSyXrH&&gx*!#K?WAXfGj;Iv3wfWa=4Bg25yF}y~Qy5_Z~@aU$unQ zb=K|nGPkwz4;bF|_AVxN^;hVAI3k#BDAnq;t0!CBgB%N7KWK|S^xo=^Uy$g8V~IL< zoTk)*+H07Ro14qOnNQq0|ul-D4OgY!LHw>BDqIlFZZL&SN1;ynr$)gfB)B ki66+b??g)C5&;QZ#ub_~M7>Jy5^mEjN2@!yhbkt21Nyxo#Q*>R diff --git a/homework-java/target/classes/com/example/Teacher.class b/homework-java/target/classes/com/example/Teacher.class deleted file mode 100644 index 2063f6b21d35c600d09cae474221d5b3285d512c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1827 zcmaJ?+j1L45IrNwT1gp8MvgDRAvTE<%Q9pMccNfOBuqpU=OQ_m;%O{R*&DBRRlB1U z{uBO!OJRo!ReS&+MWttUZOPHX%iOlR&*{@Wv;X}2`fmWY@vMLp(iSotQ^+#Rybv#i z?Fw(tez5yOb`?YRmg6~UlObJMe^NjWc?$)ObKnfKUB7S3pG1G)O1mRPcV7k!Rw&iB z=u3vVN^2Cbtpdl}t3^SI93{*!f05$?-et%sKLTYqe`0BJi>c%(n~NOp;Sv#15&dS5p*+c2 zo33!YuT3)^C8rOraIE4gNfgEzu!a^Woks=h7OET@_~4AF?ZZ&XK56L>N!qyx$MNll zB#k0gQuHZ<9IkWNIs?8ZRjg~XSEiEP;P@DyFf8=Nfvo#pSE#3s+NV{hgr`D=Ye||< zCRD&@_}s!59ABDB8lBHFp-K)kFV|z3Pl!s@A~EWIk1AbiIiB1e_IG8_5xXv(lv{pR zxKBjj=zV;cQTq;YoNFaCPL1#=-KcZ&v^wbvYCI}@rY{^rIFDzhcJ%GaI!^SFAkVT5y+y4jWCYRmTzhJ)HBBvy(7O41_{@;{tMwA!b zn;bnfK$=FnZnR42yJTj%LNw>V=n49Y#+$TzPL>&(OVw9k)s16V)ygrZe=`m>8q4N$ zfyQ&lgQJLP+@kXpawIo=jZK>MO2aU-(m*K#lZ|0+oBavQpLpjO3rAQQ!4yrnBEggh zV#Yx5I9vq5^hJ%s*)(gYsp=nC`jr+bXs#L!m>qMTiuo~oljywsw(~-wGrhqv@+LuP zeY4e#BP@^j>*pO*AE2wBr#{0q6~uW+sPJJzTbK75UjfMa|*iXN3| xjhd)}1+0%DETVz$C`OJLZc$Ir(~Iv-PIu8X=L{`6{Q-|@SD;lJJ9vr Date: Tue, 15 Apr 2025 14:51:43 +0200 Subject: [PATCH 10/20] Agregar CommandHandler y cambio en student --- .../main/java/com/example/CommandHandler.java | 102 ++++++++++++++++++ .../src/main/java/com/example/Student.java | 3 + 2 files changed, 105 insertions(+) create mode 100644 homework-java/src/main/java/com/example/CommandHandler.java diff --git a/homework-java/src/main/java/com/example/CommandHandler.java b/homework-java/src/main/java/com/example/CommandHandler.java new file mode 100644 index 00000000..b0b9a5c6 --- /dev/null +++ b/homework-java/src/main/java/com/example/CommandHandler.java @@ -0,0 +1,102 @@ +package com.example; +import java.util.*; + +public class CommandHandler { + private List students; + private List teachers; + private List courses; + + public CommandHandler(List students, List courses, List teachers) { + this.students = students; + this.courses = courses; + this.teachers = teachers; + } + + public void executeCommand(String wholeCommand){ + String[] commandPart = wholeCommand.split(" "); + String command = commandPart[0]; + switch (command){ + case "ENROLL": + enrollStudent(commandPart[0],commandPart[1]); + break; + case "ASSIGN": + + break; + case "SHOW": + handleShow(commandPart); + break; + case "LOOKUP": + + break; + default: + System.out.println("Can't recognize command"); + + } + } + + public Student findStudentById(String student_id){ + Student student = null; + for(Student s: students){ + if(s.getStudentId().equals(student_id)){ + student = s; + return student; + } + } + return null; + } + + public Course findCourseById(String course_id){ + Course course = null; + for(Course c: courses){ + if(c.getCourseId().equals(course_id)){ + course = c; + break; + } + } + return null; + } + + private void enrollStudent(String student_id, String course_id) { + Student student = findStudentById(student_id); + Course course = findCourseById(course_id); + + if (student != null && course!= null) { + student.setCourse(course); + } else { + System.out.println("Couldn't assign the course"); + } + + assert course != null; + updateMoneyEarned(course); + } + + private void updateMoneyEarned(Course course){ + double total = course.getMoney_earned() + course.getPrice(); + course.setMoney_earned(total); + } + + private void handleShow(String[] command) { + switch (command[0]){ + case "COURSES": + showCourses(); + break; + case "STUDENTS": + + break; + case "TEACHERS": + + break; + case "PROFIT": + + break; + } + } + + private void showCourses() { + for (Course course: courses){ + System.out.println(course.toString()); + } + + } + +} diff --git a/homework-java/src/main/java/com/example/Student.java b/homework-java/src/main/java/com/example/Student.java index 85749487..6d4707b8 100644 --- a/homework-java/src/main/java/com/example/Student.java +++ b/homework-java/src/main/java/com/example/Student.java @@ -20,6 +20,9 @@ public Student(String name,String address,String email) { this.email = email; this.course = null; } + public Student(Course course){ + setCourse(course); + } public Student(){ this.studentId = generateUniqueStudentId(); } From 77d683d5178653b119d036f708dabc3f38b08233 Mon Sep 17 00:00:00 2001 From: Gab Caser Date: Tue, 15 Apr 2025 15:02:28 +0200 Subject: [PATCH 11/20] =?UTF-8?q?Correcci=C3=B3n=20de=20findCourseById?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- homework-java/src/main/java/com/example/CommandHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homework-java/src/main/java/com/example/CommandHandler.java b/homework-java/src/main/java/com/example/CommandHandler.java index b0b9a5c6..b9f01b23 100644 --- a/homework-java/src/main/java/com/example/CommandHandler.java +++ b/homework-java/src/main/java/com/example/CommandHandler.java @@ -50,7 +50,7 @@ public Course findCourseById(String course_id){ for(Course c: courses){ if(c.getCourseId().equals(course_id)){ course = c; - break; + return course; } } return null; From 0625ae369e86c1dcb26cd341447d7473f1551c33 Mon Sep 17 00:00:00 2001 From: Irenevn16 Date: Tue, 15 Apr 2025 16:03:14 +0200 Subject: [PATCH 12/20] scanner borrador --- .../src/main/java/com/example/Menu.java | 83 ++++++++++++++---- .../src/main/java/com/example/School.java | 69 +++++++++++++++ .../src/main/java/com/example/Teacher.java | 6 +- .../target/classes/com/example/Course.class | Bin 0 -> 1444 bytes .../target/classes/com/example/Main.class | Bin 0 -> 379 bytes .../target/classes/com/example/Menu.class | Bin 0 -> 2379 bytes .../target/classes/com/example/School.class | Bin 0 -> 2053 bytes .../target/classes/com/example/Teacher.class | Bin 0 -> 1668 bytes 8 files changed, 142 insertions(+), 16 deletions(-) create mode 100644 homework-java/src/main/java/com/example/School.java create mode 100644 homework-java/target/classes/com/example/Course.class create mode 100644 homework-java/target/classes/com/example/Main.class create mode 100644 homework-java/target/classes/com/example/Menu.class create mode 100644 homework-java/target/classes/com/example/School.class create mode 100644 homework-java/target/classes/com/example/Teacher.class diff --git a/homework-java/src/main/java/com/example/Menu.java b/homework-java/src/main/java/com/example/Menu.java index 955fd288..31a09edc 100644 --- a/homework-java/src/main/java/com/example/Menu.java +++ b/homework-java/src/main/java/com/example/Menu.java @@ -5,37 +5,90 @@ import java.util.Scanner; public class Menu { + private School school; + public static void main(String[] args) { - Scanner myScanner = new Scanner(System.in); - public void CreatingSchool () { - System.out.println("Please, enter a name for the new school: "); - String schoolName = myScanner.nextLine(); - //hay que crear la clase School? + Scanner myScanner = new Scanner(System.in); + System.out.println("Please, enter a name for the new school: "); + String schoolName = myScanner.nextLine(); + var school = new School(schoolName); - System.out.println("Now, we need some teachers for your school " + schoolName + ". How wany teachers should be created? Please enter a number."); - int numberOfTeachers = myScanner.nextInt(); - myScanner.nextLine(); - List teachers = new ArrayList<>(); + System.out.println("Now, we need some teachers for your school " + schoolName + ". How wany teachers should be created? Please enter a number."); + int numberOfTeachers = Integer.parseInt(myScanner.nextLine()); - for (int i = 0; i < numberOfTeachers; i++) { + for (int i = 1; i < numberOfTeachers; i++) { System.out.println("\nEnter the details for teacher " + i); System.out.println("Name: "); String name = myScanner.nextLine(); System.out.println("Salary: "); - double salary = myScanner.nextDouble(); - myScanner.nextLine(); + double salary = Double.parseDouble(myScanner.nextLine()); Teacher teacher = new Teacher(name, salary); - teachers.add(teacher); + school.addTeacher(teacher); - System.out.println("Teacher " + i + "added."); + System.out.println("Teacher " + i + " added."); } - System.out.println(numberOfTeachers + "teachers created for " + schoolName); + System.out.println(numberOfTeachers + "teachers created for " + schoolName); + + System.out.println("Now, we need some courses. How wany should be created? Please enter a number."); + int numberOfCourses = Integer.parseInt(myScanner.nextLine()); + + for (int i = 1; i < numberOfCourses; i++) { + System.out.println("\nEnter the details for course " + i); + + System.out.println("Name: "); + String name = myScanner.nextLine(); + + System.out.println("Price: "); + double price = Double.parseDouble(myScanner.nextLine()); + + Course course = new Course(name, price); + school.addCourse(course); + + System.out.println("Course " + i + " added."); + } + System.out.println(numberOfCourses + "courses created for " + schoolName); + + System.out.println("Let's create the students. How wany should be created? Please enter a number."); + int numberOfStudents = Integer.parseInt(myScanner.nextLine()); + + for (int i = 1; i < numberOfStudents; i++) { + System.out.println("\nEnter the details for student " + i); + + System.out.println("Name: "); + String name = myScanner.nextLine(); + + System.out.println("Address: "); + String address = myScanner.nextLine(); + + System.out.println("Email: "); + String email = myScanner.nextLine(); + + Student student = new Student(name, address, email); + school.addStudent(student); + + System.out.println("Student " + i + " added."); + } + System.out.println(numberOfStudents + "students created for " + schoolName); + + //comandos + while(true) { + System.out.println("Enter a command from the next list: "); + var input = myScanner.nextLine(); + String [] parts = input.split(" "); + if(parts[0].equalsIgnoreCase("Enroll")&& parts.length == 3) { + // school.enrollStudent(parts[1], parts[2]); + } else { + //System.out.println("ENROLL command needs to follow this format: ENOLL [sadlf]"); + } + + break; + } } diff --git a/homework-java/src/main/java/com/example/School.java b/homework-java/src/main/java/com/example/School.java new file mode 100644 index 00000000..539d962b --- /dev/null +++ b/homework-java/src/main/java/com/example/School.java @@ -0,0 +1,69 @@ +package com.example; +import java.util.ArrayList; +import java.util.List; + +public class School { + private String name; + private List teachers; + private List students; + private List courses; + + public School(String name) { + this.name = name; + this.teachers = new ArrayList<>(); + this.students = new ArrayList<>(); + this.courses = new ArrayList<>(); + } + public void addTeacher (Teacher teacher){ + teachers.add(teacher); + } + public List getTeachers () { + return teachers; + } + + public void showTeachers() { + if (teachers.isEmpty()) { + System.out.println("No teachers have been added yet."); + } else { + System.out.println("\n Teachers at " + name + ":"); + for (int i = 0; i < teachers.size(); i++) { + System.out.println(" #" + (i + 1) + " - " + teachers.get(i)); + } + } + } + public void addCourse (Course course){ + courses.add(course); + } + public List getCourses () { + return courses; + } + + public void showCourses() { + if (courses.isEmpty()) { + System.out.println("No courses have been added yet."); + } else { + System.out.println("\n Courses at " + name + ":"); + for (int i = 0; i < courses.size(); i++) { + System.out.println(" #" + (i + 1) + " - " + courses.get(i)); + } + } + } + public void addStudent (Student student){ + students.add(student); + } + public List getStudents () { + return students; + } + + public void showStudents() { + if (students.isEmpty()) { + System.out.println("No students have been added yet."); + } else { + System.out.println("\n Students at " + name + ":"); + for (int i = 0; i < students.size(); i++) { + System.out.println(" #" + (i + 1) + " - " + students.get(i)); + } + } + } +} + diff --git a/homework-java/src/main/java/com/example/Teacher.java b/homework-java/src/main/java/com/example/Teacher.java index fa6aadc9..249efca7 100644 --- a/homework-java/src/main/java/com/example/Teacher.java +++ b/homework-java/src/main/java/com/example/Teacher.java @@ -8,6 +8,7 @@ public class Teacher { private double salary; public Teacher (String name, double salary) { + this.teacherId = UUID.randomUUID().toString(); setName(name); setSalary(salary); } @@ -35,5 +36,8 @@ public void setSalary(double salary) { this.salary = salary; } - + @Override + public String toString() { + return "Name: " + name + ", teacherId: " + teacherId + ", Salary: $" + salary; + } } diff --git a/homework-java/target/classes/com/example/Course.class b/homework-java/target/classes/com/example/Course.class new file mode 100644 index 0000000000000000000000000000000000000000..e79f18a2696542202ad00a27f4761656cccae936 GIT binary patch literal 1444 zcmaJ>TTc@~6#k~SEoEu3KoL-=3Q`JE?-xo@Y(pfe_`t;&AI#8BU}3x4>~4v~_&@v^ znur=6`~m(bMd){u97Do+c1NSVKfd6fuV3BYwgQCbtd> zulA2b&0~nI8kXU$F@$pqdjp7LKtn>uAasUw&2ALLd){c8qENP5jw=`<7H^P9S39w` zJ;$&Piqbo&BZXmxXwxxjWX389q%oplRL2-H3`ynI@(i=EySrIoNI2Z8+YSGa&Mo+H zFAR#(|FVt=Oftkh+s9%UZCk2rx)@y1aaEF!*A(H+x}-IuBP(g?4cii@?*w-&QBPBi zuIspgS%&cjKNe-%s&VhN;T@9Zdff6{hLv1zroA_nNLSRo|v;a@YOPE@^3=%`au;Ao!YUc8M)z zyUSZ*A5$^hPv8L_YIr0I{g`34Gd6~GVjqiw-#fqd8@%S(&MCvEZvKIxPwNGZiz(dM zs%;;)n#JB$blv>rxO3VReazo>+53;8*xkw?M46lBw&4jXx4vmv!chegt_Hf9>&dAf zRShME>HnM3d-U_dHJaKG4QPaRnrG5N@=+>DFHA`qX_8UUbHg0%H|g{SVe$b|`R`!) z#WQI6+!=_B?QS;qJfMgKi@eT@MBoQ zt-yJWtYxWUD%}nR`SSy&sW>w#LdLhc$S@XU$mGu@i1jSM%n*?&Nru)Ct?6^>2>xYO i>|&M);)bzIs38<^n`E5g-lKH~Pw12&Z3U}X!^9tm+czZu literal 0 HcmV?d00001 diff --git a/homework-java/target/classes/com/example/Main.class b/homework-java/target/classes/com/example/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..3f9a731f266eb6733eef584a80225913855d1b69 GIT binary patch literal 379 zcmZut!AiqG5Ph4bjY*@et$6p=R&YO{B8cEAt%pi3o;GobTat~esrXx-3Lg9bKT4bl z1w~!hH#_s@y`9~U&$o8~mpF>xp%cK5(M3;SxK__fmdY0LCR^*g5$K&8Ynlsz&SaVf z*rTSruB3iZ)nlpULK!RIU)A?oV2~KAmzyfn?p9?bRYpmjt1?y2aK0=0&4YPj?zhpL zoT}FFcygC~&$4QqvBi9v60clA+VMZMK(wkiF4xzFuMT;%Gd95q0(vJe4}xDx7*ZxF x3X0v?7UH#~BSNOBh(2MwJIC0kEW`l@RAKQcZSMOc41Wmew{X}tjtD)BzW{+?M;!nF literal 0 HcmV?d00001 diff --git a/homework-java/target/classes/com/example/Menu.class b/homework-java/target/classes/com/example/Menu.class new file mode 100644 index 0000000000000000000000000000000000000000..7d58a3190b07d486d7099758b7d1e509765eadd2 GIT binary patch literal 2379 zcmaJ?%W@M(6g_Rp9!ZvY$oK^T2FHK}#twNn!G`d#A&A(9M8@Da586`O8a$d&W=7b` zdyy5DRkF!4l?_$NDlBjcs`3H(qEr?kr)S1kE-P86N8Nqzx%Zwvef!UUp8f&gGQP>6 z4G9CuEZWf_uaXmArDAQ5vreCVKu03I9 zFo1&w4rTEY4hwW|<<|r$VAON~TNeMlrT^a$!CNQnRW&W?Yk=uQ>gW@(MW!oYe`vsx1mFib~;i z>ST^2Pnao;6SF97=`}RJZ{eJQi7X~@eupro-TJakmO8`mTeFq~PaB~8x|>OxSF%)5 zUIrI%NwaoYptl7h)B11*F_pzMt_oyixg2|jQfq<8$>QIz{%mlZf0B3 z@UFnn)mU=`uS%zEu6S-W*4;*6+Lj+omTj;ZVTjvR3}k6-R@TDm4cs$O*`c^7e*zWVx>r)yEG@sZ=3`VBN!u%~8~A}I zYqKh-xMe>Db}nnqT^}*mb>C2B(|6fP;*$Nar8I~Z_Y+f$n%CWRb6q-(Z6m+p*6p&n ztjrSoU7*Sr&8ReP8(oz7ROR ztEN_|8u&`!$p4#C;!#~Vh8cDPumiSX4mbI)jsN*na=gXa7{7ww_EVb>zlGcHan#%3 ztMER@Y-E5U<~d8_HWs)-XYr6g8Ls{M494PPq&Io7A0wCReS-eePjF=R83q?eHZe5E z)sd$-0mM7M1emm(eu}nhy@dIPr<@p@L!|<#U%%hGnJ(5tg zJ%q$_f^-;IF<=;2H83c6PJiQW7mKoJ(uVt3uEJLSLk#(afH`XGWtx{yF{~z)kF>5JOx;LPsC^ z8AkW`0ngjq+0C!->(3he?UT%xf$3s}l&2NxSNooae6b6uCFxFh7 zt;MMG17Yk4;TS|m)Qm$R7gES!Uc>V`u4AEHon9oO)l|5)^Mr(`tl4Usn)!l`7x5Cq zM1${(qU)GkZdtNUCtq?$QYB}*<+o$IDiWDgJzmlADqf>r`qtOfOKN>dncvXyCT`I4 zu28ZwrEFJtRL~R_@s@@q9dF~E-l7FlKxz)S-4g3xJi(~lkS@rGQ5p=(N?ws+E>k+~ z&`l$XVMtc2U5Cq-M*`-;n3Ew|EO$@tW;kqxr2Qnnni)@tks zZ80*O!ele6ZMe`7mV7QR!acYyxR;hB)D5;Se~nG@lZEPKlM|JBg_y8C4Zk68??#4uEm+}vN~%}8CULUl34ily`qhO!pa zH%R?oc3tU9k2hC^th+UT0Qbn6GTNvHmj=5rfKN%Dag`a@4K~t`&r`S$u3<;D-DH^Q zEECH)aQA851k)4_`U*Ft>(N*HZTE;rj$z(A+^N~ZpDDZUeydqHJwsiVp1{q+rZ~g> zUYGwFlN&)4xouZ0DX8pv$#H~Nw7F0FN&`**wNskTqN<_JF#U8_+R~veT%qL{qiqnU zE3Ifc#neWn59n5KzD>`xIZvKfkf3uP7U=pedDMbPz{ouY%gsN6mirAucOPTq5k@=5 zu^$4oJ9Iry(V$!j%9f-(K86w6rK2bX?-UmU@8NyAtCQkHGlVi$>8di`B1Xzf&;5+i z`6Eoku+>3V|0j@wLE_v&)K3s~tYJMs+`tFqs}S?SGtj3HACe&kMYNyHz<2- B>|6i< literal 0 HcmV?d00001 diff --git a/homework-java/target/classes/com/example/Teacher.class b/homework-java/target/classes/com/example/Teacher.class new file mode 100644 index 0000000000000000000000000000000000000000..5d51a8a0588e6b66fee3ed0c8f6a54ece3647659 GIT binary patch literal 1668 zcmaJ>+foxj5IsXe7Q#Ycxht1|L6U&1cZJ{u5-F*Q_`t;npN2363!7bPccA1?{0p^8 z(Bi=l@S`kyb{AMk^dURllkPsJ&-BdiKj*&yEa6QWEl6lc>S#rZp?jYnbJOO|uK9j@ zU(_T+YSD5m`H~@#FKngJhIS2U9Uagax`OZ{Y1!uH=4yo@?Qv(vt%r`0FI2AwlvI9~ zjtsgP+N8TKJp1tUL#F4hI9<$7K7#sxyI{)p+Daksd_UoqGJ?eRF-1bxy`*3hGf1{*ivM&Iwlm8 zq(fEI#vL6wOp!!>6v`?F$vUkgj{?JBogav@>(sdXV97nQe90Z@Gt4(3&`7Bg$ro>k zVW3Ga5hPk=cZZtGR4qrW9o4smx52k<+A*qbjoVw?vy>lgCgq+*O!})$WGyl1yFx}H zD`_=yL+#qhx=@BDLY?`#d*s!`ilwmhC}~a|Jk8Ux>q=jG{P3NSd+v_khUW|us?8jKE9G52w46)zR zXxhThRbBVs=&;nNcWmcc;>O9LXcGQ079U=gQvAT85@l}N>y{Ks(^bb2UfJfpFMJJ4 z3{wp~HKVGb%rN%(CFb9)XWhqb= zSPHf!08K@pOMwq$u7h4dbp_=z1l3IdJpqIsl*>dA4EO23um_V?1=U*oj-Ib%v_SDy zXh2^qx%D#nLDS^%o5@2>lj%K)kY5s%Qae?gImP%DfAy{cBP7^pP+=g9x|Ams$;0pv zkD^*8#awhT`GwNsU1XaQp~vcyNFtCdRh&M>@!|;HEr<7%L-cE`i4Z_a}Hts~Wa>`aQ!d^3r6z#xg1x{tHtcMOFX+ literal 0 HcmV?d00001 From 74fdab8342e560c5f8eff77b501c0e7dcfb762c6 Mon Sep 17 00:00:00 2001 From: Gab Caser Date: Tue, 15 Apr 2025 16:34:47 +0200 Subject: [PATCH 13/20] Corrected StudentId creation, created test --- homework-java/pom.xml | 14 ++++++++ .../main/java/com/example/CommandHandler.java | 1 - .../src/main/java/com/example/Course.java | 4 +-- .../src/main/java/com/example/Student.java | 18 +++++----- .../src/test/java/CommandHandlerTest.java | 34 ++++++++++++++++++ .../classes/com/example/CommandHandler.class | Bin 0 -> 3942 bytes .../target/classes/com/example/Course.class | Bin 0 -> 1954 bytes .../target/classes/com/example/Main.class | Bin 1153 -> 379 bytes .../target/classes/com/example/Student.class | Bin 0 -> 2293 bytes .../target/classes/com/example/Teacher.class | Bin 1827 -> 1082 bytes .../test-classes/CommandHandlerTest.class | Bin 0 -> 2142 bytes 11 files changed, 59 insertions(+), 12 deletions(-) create mode 100644 homework-java/src/test/java/CommandHandlerTest.java create mode 100644 homework-java/target/classes/com/example/CommandHandler.class create mode 100644 homework-java/target/classes/com/example/Course.class create mode 100644 homework-java/target/classes/com/example/Student.class create mode 100644 homework-java/target/test-classes/CommandHandlerTest.class diff --git a/homework-java/pom.xml b/homework-java/pom.xml index 27f9a934..55057c41 100644 --- a/homework-java/pom.xml +++ b/homework-java/pom.xml @@ -13,5 +13,19 @@ 21 UTF-8 + + + org.junit.jupiter + junit-jupiter-engine + 5.9.2 + + + org.junit.jupiter + junit-jupiter-api + 5.9.2 + + + + \ No newline at end of file diff --git a/homework-java/src/main/java/com/example/CommandHandler.java b/homework-java/src/main/java/com/example/CommandHandler.java index b9f01b23..01bb1f96 100644 --- a/homework-java/src/main/java/com/example/CommandHandler.java +++ b/homework-java/src/main/java/com/example/CommandHandler.java @@ -65,7 +65,6 @@ private void enrollStudent(String student_id, String course_id) { } else { System.out.println("Couldn't assign the course"); } - assert course != null; updateMoneyEarned(course); } diff --git a/homework-java/src/main/java/com/example/Course.java b/homework-java/src/main/java/com/example/Course.java index 1f1fc9b5..5250ed11 100644 --- a/homework-java/src/main/java/com/example/Course.java +++ b/homework-java/src/main/java/com/example/Course.java @@ -29,7 +29,7 @@ public String getName() { public void setName(String name) { this.name = name; } -/* + public double getPrice() { return price; } @@ -53,7 +53,7 @@ public double getMoney_earned() { public void setMoney_earned(double money_earned) { this.money_earned = money_earned; } -*/ + @Override public String toString() { return "CourseClass{" + diff --git a/homework-java/src/main/java/com/example/Student.java b/homework-java/src/main/java/com/example/Student.java index 6d4707b8..58ec1b7d 100644 --- a/homework-java/src/main/java/com/example/Student.java +++ b/homework-java/src/main/java/com/example/Student.java @@ -1,5 +1,6 @@ package com.example; import java.util.HashSet; +import java.util.Random; import java.util.Set; import java.util.UUID; @@ -12,7 +13,6 @@ public class Student { private String email; private Course course; - public Student(String name,String address,String email) { this.studentId = generateUniqueStudentId(); this.name = name; @@ -20,19 +20,19 @@ public Student(String name,String address,String email) { this.email = email; this.course = null; } - public Student(Course course){ - setCourse(course); - } + public Student(){ this.studentId = generateUniqueStudentId(); } - - private String generateUniqueStudentId(){ - String id= ""; - do{ - id=UUID.randomUUID().toString(); + private String generateUniqueStudentId() { + String id; + Random random = new Random(); + do { + int number = random.nextInt(900) + 100; + id = "S" + number; } while (usedIds.contains(id)); + usedIds.add(id); return id; } diff --git a/homework-java/src/test/java/CommandHandlerTest.java b/homework-java/src/test/java/CommandHandlerTest.java new file mode 100644 index 00000000..e0b48396 --- /dev/null +++ b/homework-java/src/test/java/CommandHandlerTest.java @@ -0,0 +1,34 @@ +import com.example.CommandHandler; +import com.example.Course; +import com.example.Student; +import com.example.Teacher; +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.junit.jupiter.api.Assertions.*; + +public class CommandHandlerTest { + @Test + public void testEnrollStudentUpdatesStudentAndCourse(){ + + Student student = new Student("Studiant Diez", "Calle Su casa 12", "mail@mail"); + Course course = new Course("Ethics", 20.00); + + var studentList = List.of(student); + var courseList = List.of(course); + List teacherList = List.of(); + + CommandHandler commandHandler = new CommandHandler(studentList, courseList, teacherList); + + String commandWithIds = "ENROLL "+ student.getStudentId()+ " " + course.getCourseId(); + System.out.println(commandWithIds); + + commandHandler.executeCommand(commandWithIds); + + + + + + } +} diff --git a/homework-java/target/classes/com/example/CommandHandler.class b/homework-java/target/classes/com/example/CommandHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..cd03ae83448c931385c8f2bb1efb116aff5d8fd9 GIT binary patch literal 3942 zcmai1TXYlG72P9^JhC)?AR7l0Fopt_Wf_Ap4z-AbW1C>`3uNpD(vm@**dnszNaOHm z+Vq*Gk2Gx(XhWMcB`s=R4I#lS+O-;1Khm}G*Z%gi{qJX2vr6eccl59b30~`J=G-~= z+E#^z43)l%3V!&pAu8cG}6&?5MK4cohV$Sh@Zc24G2nFz_8-?6R4yq(SY(WpUd4WJ447+7PX8EY$G#+__3 zJ*UB!TTCShw=L}MrF?Kd#@dg4dQL2^GqD~m+-=^<%@1Z~ZRO;MAFXtIc>M6h=%}b| zGVuj$=9K-!l9i%6t5@#f@)T=7>c>{<48-Fj4~_c~)}Y7tPt5oc;q2(d#K9wz0eToU z(TQyuYV342lS;*1j_!>6)2Q30#m06MJJ78mFt50d&u30)XbRuKONm$yb{Xh3aUXV9 zGIu8D*b8(yvqaujyPG95U6Ul#A#=915c8u?!##smy3J|L+KJ3uI(gP^Wz;3o0qnv3 z2Kr4rfV~6 zZmrDmLbw7rgeen8Fs;Fyv&ojq^pRN&m4*s#8u$`{tu!>Kaz20=95r!F>;!4YogE>w zetg-)S8!ZI-DAo0Y+-{3&&U?-E7Pw?uIE0+X*{Ge6r| zCz(m-hLSn!M9QXz+ED`;4Qo^=RYV4gTEp3FCL2H+UU4pKA}6p`EiKMkjy;x1+h>NY zY}zJ;Ggvb5Bv=}Cq*i@8ZmVx93x-7FjES?N;im@kK4Ht`QzpKKuX7oFtz4#uhs3>a zFrfw~jvS5;$Nl&gSI4K03=NM@QTh(0so{aa{lkYTJ;TzUJUp>)WJ>t ztjktT_WPlUA4vxIos1jJ0Dg?;4gAE!PbH)4$}|k7NEa(%*3Kof_H2ojxMMj>{7@Yy z)qKsem9?!X7HPVBDxy_Pk^b1-G^gBF923p0pKG&_0iw9GkX+@Kf7{B~?Q%OA(A_3n zH=0b_<4X%C?Cg|e1Z!tBldw|LRyHYeVN!SIlk|CAg z-zKh*l{y0a4WgEo8&HFnIU8};;{tv`iIxhuanP|d%Uwx_w@Rj^<~`q7C&K*Lw{!5D`)vU zimiXU$>)LG>(0OU>^r+%zr<&xSr2Vk#>SV?>+SXBv7Pc3C2!S5Zl&C&en=F4p7#b&1AXG$O(7)y5(p zz_^Y94db2H@sLIYoA@%O;RX)%>B4)wLs8>z*2kik^SA!4UFJ$RWm;$#*h*_{bRdi< z+R;U-cJQr-bQRrcrTdqVS4q@ca;z7>Q;vD4`v$*ylsk3s-h^r3kb(W1KjEY%C-xnI z*L()>85j7&cLTnI*1HLOr-IvsT?Bp~!R)R8{wC>?>RAc=?Go^J6qyo-BJi0aaF5(= z3&8)(t%UJ`2thqEE=lufpWgWqRyFG%!R!>GXA3Db&lI|XlNTf}|AOEjk$(6Z7C&TG zFXM@FZf#7 zIjEqxZK1vdrCx2uhD!*)$GcqVk-L0hkAG8=JtaR#6RB^IT8&$t<@!SO%It$wSK2DZnE}-Su5<5P4%)LDP*yAK6uKXX(!g|91 literal 0 HcmV?d00001 diff --git a/homework-java/target/classes/com/example/Course.class b/homework-java/target/classes/com/example/Course.class new file mode 100644 index 0000000000000000000000000000000000000000..c3792b3e6f30c4c3b111f5d9013abe1646532ce6 GIT binary patch literal 1954 zcmaJ?>vG#f6#mwBEXP*t;wBDlsGF9wcH9s_ffni{z1RdYlNM%jVHkce8+j*DB1;}g z>5yS~58i@yh5*waJU}0+)3dvBti%dGw0m}SF5mgiInvvAZ~g=D6yFw+LDoRd#02sT zR}T40Zn@msx4z#y6n4arUvWGqT4TsI7k4L7z@&kqi4shPs_pkJ@hk5STw!(m;~*3a zIgj^gt8R{bZAF3O?YE_M*+d0b7$ydRW0M-|7E#4j1JfpEP-7@7v*XBdt(~2XE<-Wk zUeE9AL$$f6{hlebrTvE{uHiaEA@X%BhUuZE$|ix}BNI0y_=2qfZ}cRrn z;^Y^>15fm-#L;aNA7g=Gw$G15$MV4Lr`idWy}?k*1;d5$l0(SbuyrZ>k6(q=IBMf5@y#R!Me zOiExGw?Mi-=+aQZiT(na#22}yf>t6GUF?k>Ly6vxP8E9hJV7C4K=04r6t{?YTdX@W zosza)mQ|#;kFb{T4-^%sm+BxE45%4i@ZiBB6(#P}GN z@JVdEM%t39yh?WjL4IF>I+1fzd8lcvvkdcbh78M)03>}D=?sBP{Ye)|Ah%P2e2UM` zfMiwH`Bvi`Ic0@Anyh$L7ta6grixr>anQh|J)&Pbvt8ptvMu`U53TTKG_B9)Q) zMMmzY0{JqXk^05bJRl$sF99NZTLPh93$3y=PvUl{QIE{YKA~rdp86Xa7F?vLoj_KL fOP<98Rndp|iuMBeZPW8L{fmJjNzc&5Iff$?3=9m83?dV`^qJWiI3}ku)=z%JD67jAoL^d$oa&aDlgh}z>6@6D zrk}b*qR|-lb+NM8ItA7Miv=l4dhG=!aPQA9t2vr#8Mp!8gE2GQd!S@>FK8S z1$V0%3^No~gyX0Z_qIzfg<~sM%;YeFQw9nqMlr@P+9#HLv_qvA47GAsJaS3O(%Y#% z?}56;tChYM3RHH{!~{+=Ot`!y>dLdZ-jsTmR)OZ84#<9aH4g7h652dtVhU#&jL41S zh1{Opv7O3>foWnSyXrH&&gx*!#K?WAXfGj;Iv3wfWa=4Bg25yF}y~Qy5_Z~@aU$unQ zb=K|nGPkwz4;bF|_AVxN^;hVAI3k#BDAnq;t0!CBgB%N7KWK|S^xo=^Uy$g8V~IL< zoTk)*+H07Ro14qOnNQq0|ul-D4OgY!LHw>BDqIlFZZL&SN1;ynr$)gfB)B ki66+b??g)C5&;QZ#ub_~M7>Jy5^mEjN2@!yhbkt21Nyxo#Q*>R diff --git a/homework-java/target/classes/com/example/Student.class b/homework-java/target/classes/com/example/Student.class new file mode 100644 index 0000000000000000000000000000000000000000..2c119bc57959f19c123a4b627c672375cff603cf GIT binary patch literal 2293 zcmZ`)&sQ5&6#gb5nGh!Y2oQc$+W=}wQb@IGi@{K&v_(^@rcj|)9VYLDsgns#CY~O5 zUAl1LamUVO7oKCSfTicu#q9iR`~y7dy))A!q|?p3_wIZ5-tWHqeQ*By_xKrrWqcJ! z2w@pL3L=O~7`&%`tL6>Wtmbd-+!LBDA-brWx?PkIp3Q8=5ks$xxPm??5{9*UEidk? zwLL@R%XYIOO!6433R76BEjCR3o2KyXYZVD2vzbymL)o@;vs&n-nEeU{Fest7;RWHt z$>5_&1;c!_$5d;AeMc3f*dVKwiX|Eiwv8*8U|U4gRNY|9DFv_KRVqiTH?4*sETvBH zE3UN=!x;&PV+zwUW)!@J*Cq73kejw{o#=Ll-EAu4N?hJ*pHNY}S4>_Q*rk(Y5^!JBwXLZY3Tb}5=xH*Hln$#ZnJ z<9@tm6*AlG|F(j6*f~rW62nCa(|6Rl@0RDbou8eD&M(em=h%7ReDD0={N(IAkDMRV zcXM$p;5``y1&et91P?s)gt?~L+OFu%>^Cv9En|r?wY$4!7^12g%T~2nBU-H9*TkN! z*UcD~B@|bUv{|q1Sb~Q1UQ<*=noDEiq)q3zCaiiRZR%-FwN%X()Yr6V>LVDdVbyq4w=vR~x%@gK?}POf)O&Ra3Q_7V%)_WCs>IZq<)gEJ#@B zylvn9;>i~+nN4EqO1(mf21>dq)|<5*Vck-946-Ckbxk!kRZHi!Z|t#mb-v^i^z=1E zKtei6BT=?h?du!rp6{bnh20^uURrvDmXIQP1`wU4);=^g8+3-T$0*b)Ylx=g;7{XZ zUG~&QY9M=SA=Az}36uCjW^Wc-)C~U(iI+)dnz*WS`HByDp4&u{iP2jGL@~)CfrRU{ z3SkXNejD653Ev$_@9sz%cSlk-jS2FJ;6wU;M5_nn+e712_6SlodkFaeiEQowL)mi& z7|G5ZU@R*gVDgb0qD0@*km)-}ZbMKg?GU{*DU9G0Mvb7-#UY zThu4y5rgy({~{JB_opocd0KHfk?ikCaFURlgsTP4cEFGLK_!%Ni*~s+oz9cp&bdJ6 z4Q%?(MZfka_p+mT{3qkk5uER+DcWjOl;3}fA>npl6=U5%E(8Mk3|E4HjI~?o0l7#( zF1-W@vx9+b1p*oA22uzFvKWawibTP&bg3Kp>yDfb0;txCs-v zkMO~tuJRb0$Ht^9qig6Tl@F6<$B7s$FOP{6t*%Y@@?s{EpoWQ# jcj<}ncr@c?1Nxp~b?XS%9wWmUqz)>|wEBW`oq>^ol|cM3urzA zgEY`nGGO&$U_KkvY>>T*402#6>4BXFaUv7kiAw8%+L4_okJVa!puZvhvjc_(D5Ti5 f?A5n2C~bsmhqy!;=n@qiE>U4n1-rxmtj7=l-qA3B literal 1827 zcmaJ?+j1L45IrNwT1gp8MvgDRAvTE<%Q9pMccNfOBuqpU=OQ_m;%O{R*&DBRRlB1U z{uBO!OJRo!ReS&+MWttUZOPHX%iOlR&*{@Wv;X}2`fmWY@vMLp(iSotQ^+#Rybv#i z?Fw(tez5yOb`?YRmg6~UlObJMe^NjWc?$)ObKnfKUB7S3pG1G)O1mRPcV7k!Rw&iB z=u3vVN^2Cbtpdl}t3^SI93{*!f05$?-et%sKLTYqe`0BJi>c%(n~NOp;Sv#15&dS5p*+c2 zo33!YuT3)^C8rOraIE4gNfgEzu!a^Woks=h7OET@_~4AF?ZZ&XK56L>N!qyx$MNll zB#k0gQuHZ<9IkWNIs?8ZRjg~XSEiEP;P@DyFf8=Nfvo#pSE#3s+NV{hgr`D=Ye||< zCRD&@_}s!59ABDB8lBHFp-K)kFV|z3Pl!s@A~EWIk1AbiIiB1e_IG8_5xXv(lv{pR zxKBjj=zV;cQTq;YoNFaCPL1#=-KcZ&v^wbvYCI}@rY{^rIFDzhcJ%GaI!^SFAkVT5y+y4jWCYRmTzhJ)HBBvy(7O41_{@;{tMwA!b zn;bnfK$=FnZnR42yJTj%LNw>V=n49Y#+$TzPL>&(OVw9k)s16V)ygrZe=`m>8q4N$ zfyQ&lgQJLP+@kXpawIo=jZK>MO2aU-(m*K#lZ|0+oBavQpLpjO3rAQQ!4yrnBEggh zV#Yx5I9vq5^hJ%s*)(gYsp=nC`jr+bXs#L!m>qMTiuo~oljywsw(~-wGrhqv@+LuP zeY4e#BP@^j>*pO*AE2wBr#{0q6~uW+sPJJzTbK75UjfMa|*iXN3| xjhd)}1+0%DETVz$C`OJLZc$Ir(~Iv-PIu8X=L{`6{Q-|@SD;lJJ9vrr&fB6#f>BWo#9wAtVlI>a>JFAW=!uG+;_01`4gY1QVw;y)E*_EXa~aT4ze1 zq_5HbfJ~U_1N5OfJ!=V&fil&McD1|b`kil&{{H9vUjXK@pGF5d4J1r-A<59U$KP_x z;cm@Z-`NwkVo1(NSE^Zt&e5@offPf(?bR*uE3Y>kVU<<0DqNL9nxS_wpq1pV68Qxw zeoMim%_4UkkuNuG9`O9+qZE1=y6apzb9zX_K%e&hA;Z*Y>CAsw`O>Ww{?Cq%tDhko zkE`f4{XnE}jWSqNyV4Glb5AH|deX=ur(ND;7`(*g!dNAPTlmPpZ4)0O&(PBftEr@8 zm1IDmba-zVhU2;+T!pbP-c!+nw)BZM^C<;5dg0i>U51GvxM8E ziAQ+MaJ|m=MbUF@u3kyCOJ9MangFoT9~2qtPNrZW#bE8FQiexjDasr%;GEJXRBK6G7LsTYd9_$xg<(Wp?RuM(Tk(M zC3LY9MXxG|$R+8DwPt-s_*;C(p`C2Wv$<2@zSQezGeKk{Czt4HDfv2)*Nj-H5&+rIUA)S4-P#d5Xq=#S?_6**ZQf2&o+U>k zS4u{?Yr(5cZiUGfv}A6x=_*+l6&Xk>g=kQrClCXel|?h7x$FKB*dMLqB8~bO$Y6m+GZergmT1NBHJx^7WoD3}6z#n@hOwRP z&StV798m{2Ms_9I;5B}rIYqla)B7U?t~!a literal 0 HcmV?d00001 From 36ba82b86f6c32b2e5e0a35b69874fddfdca4276 Mon Sep 17 00:00:00 2001 From: Irenevn16 Date: Tue, 15 Apr 2025 17:16:15 +0200 Subject: [PATCH 14/20] while --- .../src/main/java/com/example/Menu.java | 86 ++++++++++++++----- .../src/main/java/com/example/School.java | 12 +-- .../src/main/java/com/example/Teacher.java | 20 ++++- 3 files changed, 88 insertions(+), 30 deletions(-) diff --git a/homework-java/src/main/java/com/example/Menu.java b/homework-java/src/main/java/com/example/Menu.java index 31a09edc..326e2038 100644 --- a/homework-java/src/main/java/com/example/Menu.java +++ b/homework-java/src/main/java/com/example/Menu.java @@ -5,7 +5,7 @@ import java.util.Scanner; public class Menu { - private School school; + private School school; public static void main(String[] args) { @@ -20,19 +20,19 @@ public static void main(String[] args) { int numberOfTeachers = Integer.parseInt(myScanner.nextLine()); for (int i = 1; i < numberOfTeachers; i++) { - System.out.println("\nEnter the details for teacher " + i); + System.out.println("\nEnter the details for teacher " + i); - System.out.println("Name: "); - String name = myScanner.nextLine(); + System.out.println("Name: "); + String name = myScanner.nextLine(); - System.out.println("Salary: "); - double salary = Double.parseDouble(myScanner.nextLine()); + System.out.println("Salary: "); + double salary = Double.parseDouble(myScanner.nextLine()); - Teacher teacher = new Teacher(name, salary); - school.addTeacher(teacher); + Teacher teacher = new Teacher(name, salary); + school.addTeacher(teacher); - System.out.println("Teacher " + i + " added."); - } + System.out.println("Teacher " + i + " added."); + } System.out.println(numberOfTeachers + "teachers created for " + schoolName); System.out.println("Now, we need some courses. How wany should be created? Please enter a number."); @@ -77,19 +77,65 @@ public static void main(String[] args) { System.out.println(numberOfStudents + "students created for " + schoolName); //comandos - while(true) { - System.out.println("Enter a command from the next list: "); - var input = myScanner.nextLine(); - String [] parts = input.split(" "); - if(parts[0].equalsIgnoreCase("Enroll")&& parts.length == 3) { + boolean continueRunning = true; + while (continueRunning) { + System.out.println("Enter a command from the next list: \n ENROLL [STUDENT_ID] [COURSE_ID] \n ASSIGN [TEACHER_ID] [COURSE_ID] \n SHOW COURSES \n LOOKUP COURSE [COURSE_ID] \n SHOW STUDENTS \n LOOKUP STUDENT [STUDENT_ID] \n SHOW TEACHERS \n LOOKUP TEACHER [TEACHER_ID] \n SHOW PROFIT "); + var input = myScanner.nextLine(); + String[] parts = input.split(" "); + + if (parts[0].equalsIgnoreCase("ENROLL") && parts.length == 3) { + // school.enrollStudent(parts[1], parts[2]); + } else if (parts[0].equalsIgnoreCase("ENROLL")) { + System.out.println("ENROLL command needs to follow this format: ENROLL [STUDENT_ID] [COURSE_ID]"); + } + + if (parts[0].equalsIgnoreCase("ASSIGN") && parts.length == 3) { + // school.enrollStudent(parts[1], parts[2]); + } else if (parts[0].equalsIgnoreCase("ASSIGN")) { + System.out.println("ENROLL command needs to follow this format: [TEACHER_ID] [COURSE_ID]"); + } + + if (parts[0].equalsIgnoreCase("SHOW") && parts.length == 2 && parts[1].equalsIgnoreCase("COURSES")) { + // school.enrollStudent(parts[1], parts[2]); + } + + if (parts[0].equalsIgnoreCase("LOOKUP") && parts[1].equalsIgnoreCase("COURSE") && parts.length == 3) { + // school.enrollStudent(parts[1], parts[2]); + } else if (parts[0].equalsIgnoreCase("LOOKUP") && parts[1].equalsIgnoreCase("COURSE")) { + System.out.println("LOOKUP COURSE command needs to follow this format: LOOKUP COURSE [COURSE_ID]"); + } + + if (parts[0].equalsIgnoreCase("SHOW") && parts.length == 2 && parts[1].equalsIgnoreCase("STUDENTS")) { + // school.enrollStudent(parts[1], parts[2]); + } + + if (parts[0].equalsIgnoreCase("LOOKUP") && parts[1].equalsIgnoreCase("STUDENT") && parts.length == 3) { // school.enrollStudent(parts[1], parts[2]); - } else { - //System.out.println("ENROLL command needs to follow this format: ENOLL [sadlf]"); - } + } else if (parts[0].equalsIgnoreCase("LOOKUP") && parts[1].equalsIgnoreCase("STUDENT")) { + System.out.println("LOOKUP STUDENT command needs to follow this format: LOOKUP STUDENT [STUDENT_ID]"); + } - break; - } + if (parts[0].equalsIgnoreCase("SHOW") && parts.length == 2 && parts[1].equalsIgnoreCase("TEACHERS")) { + // school.enrollStudent(parts[1], parts[2]); + } + + if (parts[0].equalsIgnoreCase("LOOKUP") && parts[1].equalsIgnoreCase("TEACHER") && parts.length == 3) { + // school.enrollStudent(parts[1], parts[2]); + } else if (parts[0].equalsIgnoreCase("LOOKUP") && parts[1].equalsIgnoreCase("TEACHER")) { + System.out.println("LOOKUP TEACHER command needs to follow this format: LOOKUP TEACHER [TEACHER_ID]"); + } + + if (parts[0].equalsIgnoreCase("SHOW") && parts.length == 2 && parts[1].equalsIgnoreCase("PROFIT")) { + // school.enrollStudent(parts[1], parts[2]); + } + System.out.println("Do you want to perform another action? (yes/no)"); + String response = myScanner.nextLine().trim().toLowerCase(); + if (!response.equals("yes")) { + continueRunning = false; + System.out.println("Thank you for using the School Manager. Goodbye!"); + } } } +} \ No newline at end of file diff --git a/homework-java/src/main/java/com/example/School.java b/homework-java/src/main/java/com/example/School.java index 539d962b..928c05a5 100644 --- a/homework-java/src/main/java/com/example/School.java +++ b/homework-java/src/main/java/com/example/School.java @@ -21,7 +21,7 @@ public List getTeachers () { return teachers; } - public void showTeachers() { + /*public void showTeachers() { if (teachers.isEmpty()) { System.out.println("No teachers have been added yet."); } else { @@ -30,7 +30,7 @@ public void showTeachers() { System.out.println(" #" + (i + 1) + " - " + teachers.get(i)); } } - } + }*/ public void addCourse (Course course){ courses.add(course); } @@ -38,7 +38,7 @@ public List getCourses () { return courses; } - public void showCourses() { + /*public void showCourses() { if (courses.isEmpty()) { System.out.println("No courses have been added yet."); } else { @@ -47,14 +47,14 @@ public void showCourses() { System.out.println(" #" + (i + 1) + " - " + courses.get(i)); } } - } + }*/ public void addStudent (Student student){ students.add(student); } public List getStudents () { return students; } - + /* public void showStudents() { if (students.isEmpty()) { System.out.println("No students have been added yet."); @@ -64,6 +64,6 @@ public void showStudents() { System.out.println(" #" + (i + 1) + " - " + students.get(i)); } } - } + }*/ } diff --git a/homework-java/src/main/java/com/example/Teacher.java b/homework-java/src/main/java/com/example/Teacher.java index 249efca7..fad4526e 100644 --- a/homework-java/src/main/java/com/example/Teacher.java +++ b/homework-java/src/main/java/com/example/Teacher.java @@ -1,19 +1,31 @@ package com.example; -import java.util.UUID; +import java.util.*; public class Teacher { - private String teacherId; //UUID + private String teacherId; private String name; private double salary; public Teacher (String name, double salary) { - this.teacherId = UUID.randomUUID().toString(); + this.teacherId = generateUniqueTeacherId(); setName(name); setSalary(salary); } public Teacher(){ - this.teacherId = UUID.randomUUID().toString(); + this.teacherId = generateUniqueTeacherId(); + } + private static final Set usedIds = new HashSet<>(); + private String generateUniqueTeacherId() { + String id; + Random random = new Random(); + do { + int number = random.nextInt(900) + 100; // genera número entre 100 y 999 + id = "S" + number; + } while (usedIds.contains(id)); + + usedIds.add(id); + return id; } public String getTeacherId() { From a86e19fa5f56b1b4b342a887a8f3f2b9a130f619 Mon Sep 17 00:00:00 2001 From: Irenevn16 Date: Mon, 21 Apr 2025 14:46:17 +0200 Subject: [PATCH 15/20] guardando --- .../src/main/java/com/example/Menu.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/homework-java/src/main/java/com/example/Menu.java b/homework-java/src/main/java/com/example/Menu.java index 326e2038..b5bdb26e 100644 --- a/homework-java/src/main/java/com/example/Menu.java +++ b/homework-java/src/main/java/com/example/Menu.java @@ -54,7 +54,7 @@ public static void main(String[] args) { } System.out.println(numberOfCourses + "courses created for " + schoolName); - System.out.println("Let's create the students. How wany should be created? Please enter a number."); + System.out.println("Let's create the students. How many should be created? Please enter a number."); int numberOfStudents = Integer.parseInt(myScanner.nextLine()); for (int i = 1; i < numberOfStudents; i++) { @@ -84,49 +84,49 @@ public static void main(String[] args) { String[] parts = input.split(" "); if (parts[0].equalsIgnoreCase("ENROLL") && parts.length == 3) { - // school.enrollStudent(parts[1], parts[2]); + commandHandler.enrollStudent(parts[1], parts[2]); } else if (parts[0].equalsIgnoreCase("ENROLL")) { System.out.println("ENROLL command needs to follow this format: ENROLL [STUDENT_ID] [COURSE_ID]"); } if (parts[0].equalsIgnoreCase("ASSIGN") && parts.length == 3) { - // school.enrollStudent(parts[1], parts[2]); + // commandHandler.??(parts[1], parts[2]); } else if (parts[0].equalsIgnoreCase("ASSIGN")) { System.out.println("ENROLL command needs to follow this format: [TEACHER_ID] [COURSE_ID]"); } if (parts[0].equalsIgnoreCase("SHOW") && parts.length == 2 && parts[1].equalsIgnoreCase("COURSES")) { - // school.enrollStudent(parts[1], parts[2]); + commandHandler.handleShow(); } if (parts[0].equalsIgnoreCase("LOOKUP") && parts[1].equalsIgnoreCase("COURSE") && parts.length == 3) { - // school.enrollStudent(parts[1], parts[2]); + commandHandler.findCourseById(parts[2]); } else if (parts[0].equalsIgnoreCase("LOOKUP") && parts[1].equalsIgnoreCase("COURSE")) { System.out.println("LOOKUP COURSE command needs to follow this format: LOOKUP COURSE [COURSE_ID]"); } if (parts[0].equalsIgnoreCase("SHOW") && parts.length == 2 && parts[1].equalsIgnoreCase("STUDENTS")) { - // school.enrollStudent(parts[1], parts[2]); + // commandHandler.enrollStudent(); } if (parts[0].equalsIgnoreCase("LOOKUP") && parts[1].equalsIgnoreCase("STUDENT") && parts.length == 3) { - // school.enrollStudent(parts[1], parts[2]); + commandHandler.findStudentById(parts[2]); } else if (parts[0].equalsIgnoreCase("LOOKUP") && parts[1].equalsIgnoreCase("STUDENT")) { System.out.println("LOOKUP STUDENT command needs to follow this format: LOOKUP STUDENT [STUDENT_ID]"); } if (parts[0].equalsIgnoreCase("SHOW") && parts.length == 2 && parts[1].equalsIgnoreCase("TEACHERS")) { - // school.enrollStudent(parts[1], parts[2]); + //commandHandler.enrollStudent(); } if (parts[0].equalsIgnoreCase("LOOKUP") && parts[1].equalsIgnoreCase("TEACHER") && parts.length == 3) { - // school.enrollStudent(parts[1], parts[2]); + //commandHandler.enrollStudent(parts[2]); } else if (parts[0].equalsIgnoreCase("LOOKUP") && parts[1].equalsIgnoreCase("TEACHER")) { System.out.println("LOOKUP TEACHER command needs to follow this format: LOOKUP TEACHER [TEACHER_ID]"); } if (parts[0].equalsIgnoreCase("SHOW") && parts.length == 2 && parts[1].equalsIgnoreCase("PROFIT")) { - // school.enrollStudent(parts[1], parts[2]); + //commandHandler.enrollStudent(); } System.out.println("Do you want to perform another action? (yes/no)"); String response = myScanner.nextLine().trim().toLowerCase(); From 05ccd0917969703f8d7cf60eff71678d047697b5 Mon Sep 17 00:00:00 2001 From: Irenevn16 Date: Mon, 21 Apr 2025 15:24:34 +0200 Subject: [PATCH 16/20] cambios menu --- homework-java/src/main/java/com/example/Menu.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/homework-java/src/main/java/com/example/Menu.java b/homework-java/src/main/java/com/example/Menu.java index b5bdb26e..03336945 100644 --- a/homework-java/src/main/java/com/example/Menu.java +++ b/homework-java/src/main/java/com/example/Menu.java @@ -81,7 +81,11 @@ public static void main(String[] args) { while (continueRunning) { System.out.println("Enter a command from the next list: \n ENROLL [STUDENT_ID] [COURSE_ID] \n ASSIGN [TEACHER_ID] [COURSE_ID] \n SHOW COURSES \n LOOKUP COURSE [COURSE_ID] \n SHOW STUDENTS \n LOOKUP STUDENT [STUDENT_ID] \n SHOW TEACHERS \n LOOKUP TEACHER [TEACHER_ID] \n SHOW PROFIT "); var input = myScanner.nextLine(); - String[] parts = input.split(" "); + + commandHandler.executeCommand(input); + + + /*String[] parts = input.split(" "); if (parts[0].equalsIgnoreCase("ENROLL") && parts.length == 3) { commandHandler.enrollStudent(parts[1], parts[2]); @@ -128,6 +132,8 @@ public static void main(String[] args) { if (parts[0].equalsIgnoreCase("SHOW") && parts.length == 2 && parts[1].equalsIgnoreCase("PROFIT")) { //commandHandler.enrollStudent(); } + + */ System.out.println("Do you want to perform another action? (yes/no)"); String response = myScanner.nextLine().trim().toLowerCase(); if (!response.equals("yes")) { From 06357d3dcd5199968a1dd1282bd2afd5538d88aa Mon Sep 17 00:00:00 2001 From: Gab Caser Date: Mon, 21 Apr 2025 15:29:36 +0200 Subject: [PATCH 17/20] command handler --- .../main/java/com/example/CommandHandler.java | 67 +++++++++++++++---- 1 file changed, 55 insertions(+), 12 deletions(-) diff --git a/homework-java/src/main/java/com/example/CommandHandler.java b/homework-java/src/main/java/com/example/CommandHandler.java index 01bb1f96..deb91db4 100644 --- a/homework-java/src/main/java/com/example/CommandHandler.java +++ b/homework-java/src/main/java/com/example/CommandHandler.java @@ -17,7 +17,7 @@ public void executeCommand(String wholeCommand){ String command = commandPart[0]; switch (command){ case "ENROLL": - enrollStudent(commandPart[0],commandPart[1]); + enrollStudent(commandPart[1],commandPart[2]); break; case "ASSIGN": @@ -26,7 +26,7 @@ public void executeCommand(String wholeCommand){ handleShow(commandPart); break; case "LOOKUP": - + lookUp(commandPart); break; default: System.out.println("Can't recognize command"); @@ -56,17 +56,40 @@ public Course findCourseById(String course_id){ return null; } + public Teacher findTeacherById(String teacher_id){ + Teacher teacher = null; + for(Teacher t: teachers){ + if(t.getTeacherId().equals(teacher_id)){ + teacher = t; + return teacher; + } + } + return null; + } + + private void lookUp(String[] commandPart) { + switch (commandPart[1]){ + case "COURSE": + break; + case "STUDENT": + break; + case "TEACHER": + System.out.println(findTeacherById(commandPart[2]).toString()); + } + + } + private void enrollStudent(String student_id, String course_id) { Student student = findStudentById(student_id); Course course = findCourseById(course_id); if (student != null && course!= null) { student.setCourse(course); + updateMoneyEarned(course); } else { System.out.println("Couldn't assign the course"); } - assert course != null; - updateMoneyEarned(course); + } private void updateMoneyEarned(Course course){ @@ -78,24 +101,44 @@ private void handleShow(String[] command) { switch (command[0]){ case "COURSES": showCourses(); - break; case "STUDENTS": - - break; + showStudents(); case "TEACHERS": - - break; + showTeachers(); case "PROFIT": + showProfit(); + default: + System.out.println( "Can't recognize command"); + } + } - break; + private void showStudents() { + StringBuilder studentsString = new StringBuilder(); + for (Student student: students){ + studentsString.append(student.toString()).append("\n"); } + System.out.println(studentsString); + } + + private void showTeachers() { + StringBuilder teachersString = new StringBuilder(); + for (Teacher teacher: teachers){ + teachersString.append(teacher.toString()).append("\n"); + } + System.out.println(teachersString); + } + + private void showProfit() { + } private void showCourses() { + StringBuilder coursesString = new StringBuilder(); for (Course course: courses){ - System.out.println(course.toString()); + coursesString.append(course.toString()).append("\n"); } - + System.out.println(coursesString); } + } From bebdcee4453793a8e24692f11cf8e6401355ec10 Mon Sep 17 00:00:00 2001 From: Gab Caser Date: Mon, 21 Apr 2025 17:37:44 +0200 Subject: [PATCH 18/20] WIP: cambios antes de mergear dev --- .../src/main/java/com/example/Course.java | 18 ++++++++++++++++++ .../src/main/java/com/example/Student.java | 11 +++++++++++ .../src/test/java/CommandHandlerTest.java | 5 ++--- .../classes/com/example/CommandHandler.class | Bin 3942 -> 5141 bytes .../target/classes/com/example/Course.class | Bin 1954 -> 2610 bytes .../target/classes/com/example/Menu.class | Bin 2379 -> 3896 bytes .../target/classes/com/example/School.class | Bin 2053 -> 3262 bytes .../target/classes/com/example/Student.class | Bin 2293 -> 3129 bytes .../target/classes/com/example/Teacher.class | Bin 1082 -> 1668 bytes .../test-classes/CommandHandlerTest.class | Bin 2142 -> 2367 bytes 10 files changed, 31 insertions(+), 3 deletions(-) diff --git a/homework-java/src/main/java/com/example/Course.java b/homework-java/src/main/java/com/example/Course.java index 5250ed11..bae35b0e 100644 --- a/homework-java/src/main/java/com/example/Course.java +++ b/homework-java/src/main/java/com/example/Course.java @@ -1,8 +1,13 @@ package com.example; +import java.util.HashSet; +import java.util.Random; +import java.util.Set; import java.util.UUID; public class Course { + private static final Set usedIds = new HashSet<>(); + private String courseId; private String name; private double price; @@ -11,6 +16,7 @@ public class Course { //constructor de name y price public Course(String name, double price) { + this.courseId = generateUniqueCourseId(); this.name = name; this.price = price; } @@ -20,6 +26,18 @@ public Course() { this.courseId = UUID.randomUUID().toString(); } + private String generateUniqueCourseId() { + String id; + Random random = new Random(); + do { + int number = random.nextInt(900) + 100; + id = "C" + number; + } while (usedIds.contains(id)); + + usedIds.add(id); + return id; + } + //getters y setters public String getName() { diff --git a/homework-java/src/main/java/com/example/Student.java b/homework-java/src/main/java/com/example/Student.java index 58ec1b7d..17372f8e 100644 --- a/homework-java/src/main/java/com/example/Student.java +++ b/homework-java/src/main/java/com/example/Student.java @@ -75,5 +75,16 @@ public void setName(String name) { } this.name = name; } + + @Override + public String toString() { + return "Student{" + + "studentId='" + studentId + '\'' + + ", name='" + name + '\'' + + ", address='" + address + '\'' + + ", email='" + email + '\'' + + ", course=" + course + + '}'; + } } diff --git a/homework-java/src/test/java/CommandHandlerTest.java b/homework-java/src/test/java/CommandHandlerTest.java index e0b48396..26f525cb 100644 --- a/homework-java/src/test/java/CommandHandlerTest.java +++ b/homework-java/src/test/java/CommandHandlerTest.java @@ -1,3 +1,4 @@ + import com.example.CommandHandler; import com.example.Course; import com.example.Student; @@ -26,9 +27,7 @@ public void testEnrollStudentUpdatesStudentAndCourse(){ commandHandler.executeCommand(commandWithIds); - - - + assertEquals("Ethics", student.getCourse().getName()); } } diff --git a/homework-java/target/classes/com/example/CommandHandler.class b/homework-java/target/classes/com/example/CommandHandler.class index cd03ae83448c931385c8f2bb1efb116aff5d8fd9..0d2cd306dc108315d4a14627b7a658c8932536cd 100644 GIT binary patch literal 5141 zcma)9TXj$a)!ytg$aa)OB%3*WHL!0&{zqiKnReMn@k98YE2K5LozU#2{R{z zV6SSS7tmU(g0{7>l~`ykU>SsJu~ks<+Di4o2Osp^=l1&|{(GM@lbj?#lW)(Nwa?mX z|7)#(t-a^k|1P};U?cwFhYM~M9t~dPC@9>kAJA)Kdc423WA|PoVk*d47mY{FMg{JQ z%I-PvVU7yFhFoY07Df_-wZ=hxa42TfHYElJ^?2Vlj+l{D;7ggqeMa0&(QK= zhanBss8Nt-#FL3wENsPScHA>jS9S{bY_odW-WjCFV*F`}TjViqqg{WTiy7Wz4{ zL}K60p*i?G?osgt4QtWh4CZLcGzJ-k#4tlS-`YQ#sO@BoO$O7@2OE4?uV6uw9$#UW zC5=d;KOQ|~l#vJ``F`As4JtNj*n}npMKbM915EgkFc*tY3uGo)-MMJS78P4HY(tBJ zd?$C9uBd4wbu&SZ6<1VRASJb0?D>XVY)7k#HVy6QP!O23kWnEDCcWJ_NIyyJ90j@B>7wV6gUmpZmM{Yz@{2% zl4amW4<6F+Wnm|mcC6W!J{1p7+qlar5kGpdTSFwXu|3_==L7ki)6}tZN4VJsmWUee z+PS&8y~~Fvg|6m}P1~Ax2tMu85ChX*uqPVtv)6AL70@fEGCh-^)~Tp%^#%bWp2pmRsZmXtUK8_n z%;k%hG`yUBVP{&t_@RbZ#S6b!(V0x_iJB^Y#8Apgo6>tX4M$^rM$(TlxJCRE;@e3L zo7B;o5M+iZFWk# z5GT<(N9r?tYh+uzwPuF)LbLpqHf=fy#nrZ(ljq>Hl?~J7%5JtJ>trfujmC}k;lbTT zvP<6`qc4HhL`08u>&d8)?MaV05akiI*x^@`<7g(5V&~G)q0I7;=@4%gplL{*YFVFe zsWllx;by*Z(1;A1hK-eM92rQ&CdGhdYYMmMM=o2DICnbrBwI|;EGHl<#n$1O8#eXG zzBYYG#!AIy(nuWVj#yomGdkVS=k>Z!icdYDhO2M zf1aPkTmj6Xrk|g=$fw03T1s;^XsyQu{G1Xk*?7b^v9mxq zPhxW8BEOdrv!!*0NGz>$S*^2tYk6{sZ{I}|KZ#T6<1RVWzETw^N@IRo$X(Z7z1HKZ z_m+6lSah1N(9hvHT=ViFK6_C9(FC9OrCu}t%jeodD?KOq43>BTcc!uQ1nS-O-f^s? zyj;rV9wC=eULoaTuaFBVS4uf2r`|i?dx|#JbBI6T#}bYpM>WUY!H}me=8O~f>!ml{z#{1l1IdX4c19DXOR1~ZDKziLVX$zehzwuAy3|G1#xKm2IKsl|gpaT^Mp%S%>*(!cp!?$8s4 z>yqviz&!y?MVE^0cYVr9Mcg`O1)g^k;5`=bFWnCKDq622@YND-EwAXS zcrjmtdmO-ji{H%v{`)NOYkcbj-ZKfDce+`D7v2PTuLWGc9q@JBay@}J68OE0_yz*s zMBq&h;D5j$X8`|G7Wkj})(N~f1KcHktk}T+O%oz*N2)w^ZLUVL-73fy&bcpL%U{Ij z%Ig!mKH#(Qz{l5xyet&xlbl)VZXCzrP+*UgiaeC^LxBM)dA*HGM8)y1&Uz3Iu$bdc zj%DL0W_hu!f>omI_NEbcl$X`Fw(`E)LS}Er0kq*TI%NckrKuxXrX7)mqey-Q;F~~* zHKOF@`4_ufpRkj;#4keI;Zu}EZPWyrh5hZKzK7R(s;^=}iRUT;)uJRu*=o{w)Gqrc z9Js8S2(zPgv5R)IzwV+__p?lUxXVKl-x_O&EWR4M61Xb_wOm|XA#1`-8%rTb=8@>x zb0@G|RtI_J5?5mzcekCWLc;zk$KgmzRYe-lh=$~n)tWE6+QaPgI(^ybchww#BwXqX}#jW%i@wLZj0HtKvqlYojbmh`7Q zS6t#(#4Qk84QVFgUWu56cU#1d5b>i#{1_2GPApFl@ske3qTx(O{I^>m=Fb}&aTWbk z#F*r=cm+HqHxM@FQ5EgR4)|)o1AHvvl=2x_XqZ X9&@-V>UFxS*Kg{of{%&Sg}?tF#j}}9 delta 1953 zcmZ{k`*Raj6vw~2n`D#hrfE~iP^6_iDm6)|LMd3FG_-*h+R_)TyoAt(5)26@;iYI) zeBcvhDKFoMMnP0S!+2sWynV~5a6>sW^#V}?>K^%={RY4%(w+8+B~Lpag9+lFpBIj5uM(79EdbtC6&c@1%uvQHk;16)pmmBKd`;1 zr#R;2h?ud!$-jmY?ktB3r#b55C@=+Q@V0TuIji*@TGdd@F^%_1X3vc=o+#FNaGbMw zs&_g29$NT62}qlGl8tL_8dJ5y9ZT2~pE#+K&Bs>9w#XMy76dE{a`0zSk%iY6$e})q zk}R~#Sm=2;hozUePJtkw56!r(&B;{ZDyeQ@&LrlWf|+Z0Bi_dcq)>4UAL1-YHGG4Q zIHuqn=WC$dBc@G-U4>W0$L8Nl*W7NmUZu;b{3ka{BJ%Uj-~ta3qBTlgzOPZOUPDkq zcilCtmWVK$oi2&@_BL56EIITWRV7~Ol<|W;Co?W;HOlY_vZlO^Mbt)oYNE<40H1MI zHUZsG?m}15tD=4G9S%w&^ZpaX^*JF(Mu4Jt#cr?f*LY7iGlx90H+~Kdy;YqxNy<3?#?CX>Ug)2LUP zv+xBx&zjaO3#}Oe&tcOlx6&#JcwR6qtF5{6Ja@w{e*8p6Rk78u)w210IlPpGBMVy= z%7n7hNdt7_2zpq%dT|s3%v)B}F>E&7@REyEMK?|`WzLdWXjTr#T{JLHB$vzOtgFm8c*$D=Wh`zI2$? zVYrA?NgeY6DSXc7xIoe%{{<)G@(u&Uj<1R+4MY-Ona7^P>t~=^n03k(?3#E*K@Hw{ Rj`fRyBti- diff --git a/homework-java/target/classes/com/example/Course.class b/homework-java/target/classes/com/example/Course.class index c3792b3e6f30c4c3b111f5d9013abe1646532ce6..bdd1b4a740749c272bd6cd27092d64e36cf6b083 100644 GIT binary patch literal 2610 zcmaJ@e^(Pn6upx`HiU&pgs506ik1+lvDUU?07X(u+Mw15R&A?GGKH07mnIvJo}T{K z57EhAb?) zomN{4WY?u5Tb3tR9Q(_T^ta1(f#KX_rR%@ywQOg-*hi0pCek<{kgRDJ$~F^inK5xt zS@t+qQ>vpQCbBpr(7V;LYYZ+*DICG5fukl~!!dzD9kJutjl#-Gxg?NkSx((;`ismq zq#c8zI)B{6n948dxjsw-C%4JbmN&JJ6iy(nhSMhAz=VL|$j4sUA!|Lk@?<$fjwemz zF(q)QX>F1Vr)GJ#ZEu6Kwr4qBTVRBy(b>Lf;tUFO+iA;sxlY@(Z>TX;rC037TR3On zZ4>A5j=(@SS$@@oI-X@aI!Y*pU)$p3U3LCF6BpFsxK*z!N-vryDoV|!>&PefrPXp| zJp+L`l?sJ$F&A ze34pzP3k zj&?wCl?7rp)tT@$v?J4yCTKrU^{m?Fvb7a>H`b+hje2Dv+uO5|2;d5LlD0Q|DYM@w z*CdYw8$CIlT0c#?P1Vou-Bp_3mP2JD1N^>wCplYd1TCGavf*m-s;!vm_uZUP)uGt0 zxUSdsTGrOG^fugjJBbI(eo-W`CNS&UE;g)o`>R^ewR00@(_@r@j;jv#t=rhm&FI%9itPvz!J)Q ztC5z#acQ60k6?$SYsnEKTT+8amwHiqy1{mY-f8^i6XA9*ScmE0&2 z9FLRJ6NG+}>v7)Wr*W2}N-(d}Ht-=n(%8-gI7V?86`g95Hp{q1EZ1q@2k|$Z8FVLb zV+X1#lVYVe|0{-6^q7vWhykWUdG-eW1wO`2epQv4r?skhLRY8Dmiplak@oTiS6H*Y z)lM-IK`{iXxE1&+&}JLR@DDr`268?U$O=|>fW$QkiTuPah4?@&5Xj6cfG8~}25v_( zGO(AC*+?LtL^Bf7j}PQBfh@cNi0Tjph1z6Uw0(c-=yE!f;kas3btI5_ejNiF>n literal 1954 zcmaJ?>vG#f6#mwBEXP*t;wBDlsGF9wcH9s_ffni{z1RdYlNM%jVHkce8+j*DB1;}g z>5yS~58i@yh5*waJU}0+)3dvBti%dGw0m}SF5mgiInvvAZ~g=D6yFw+LDoRd#02sT zR}T40Zn@msx4z#y6n4arUvWGqT4TsI7k4L7z@&kqi4shPs_pkJ@hk5STw!(m;~*3a zIgj^gt8R{bZAF3O?YE_M*+d0b7$ydRW0M-|7E#4j1JfpEP-7@7v*XBdt(~2XE<-Wk zUeE9AL$$f6{hlebrTvE{uHiaEA@X%BhUuZE$|ix}BNI0y_=2qfZ}cRrn z;^Y^>15fm-#L;aNA7g=Gw$G15$MV4Lr`idWy}?k*1;d5$l0(SbuyrZ>k6(q=IBMf5@y#R!Me zOiExGw?Mi-=+aQZiT(na#22}yf>t6GUF?k>Ly6vxP8E9hJV7C4K=04r6t{?YTdX@W zosza)mQ|#;kFb{T4-^%sm+BxE45%4i@ZiBB6(#P}GN z@JVdEM%t39yh?WjL4IF>I+1fzd8lcvvkdcbh78M)03>}D=?sBP{Ye)|Ah%P2e2UM` zfMiwH`Bvi`Ic0@Anyh$L7ta6grixr>anQh|J)&Pbvt8ptvMu`U53TTKG_B9)Q) zMMmzY0{JqXk^05bJRl$sF99NZTLPh93$3y=PvUl{QIE{YKA~rdp86Xa7F?vLoj_KL fOP<98Rndp|iuMBeZPW8L{fmJjNzc&5IMElU_9m=F^}NEs>%VlW0nkpLlp1P~muO$h8G?CcUy zbQKWaf{vhwD1r!r4}!RaMDaltW#JF}@X4?LmS0$cw`XU0>d)=I-RGV@_c8N(XlR^q z;o9(70JCsz(CG9{=$Mxps4)kmnUpeS+Np#zds5l7E$zu>TWY`@u#%gdc%V8Lf*;zk;nk7ffE=n7&H786RXSgdeGxUZ`H?uhA= zmV^*MeFz%bbaWFs+GVEFHha?2%1AS_R)$SGla0w_<_=wLAqb^w1wS(@7E4Rpj+#1F zvdq?m)fZPXpCyEEeYC5o{6_MF~iDlJH&1#aXKAu^g!i$0uIJne(=gV$O{0OZI13c%a`(XE-u^ zw{(3v!EdE|ZD*JN$%-+_Y+|)c&tFp*2UU*ZiO1?(@`q`U^S6I8eeP5TlJteMH!v}G zl#z?1)w5QnO)^=kj7`>YjOU3mh2!F|#LP7*#_0HpFy3fQW;lZ9$BfAgXJxy$g;FTc zH-s?-Ew|8~AdIB~#$(O#x8c#AB$)q0>(xu~o?^XTMz;{>m0k~Zhu$$7h76p+u)s(V zRrrB0;pP}PLG8T%C&EOB#5iL@dn&a)%QN+hb4{y_J%8LeHt|AUgy}VYw)M@65C(_fS0kAy;5w$c0S=?-#I1H8Vl(w@=pt`E0Tza2*vYAM)ip9 zn;OdGv2ia(NA$DW0cc0yQ`PoCRr>;_I21~VZ4qvcm$fz zjW_WYxBs$-6D-ff+lGJ6;X$p2Rb193ez`MLNSXvnGA?IKe z)$w0dQ47{J9`EzDV0B}$8+(|VXAK|l4vajH53!dgv7FA}BgU2BK|0|MxetxB5Br$K zk3ll=v69L)I*k3i)9?w$*Fe9{d1wNk3J8Iez@`e~slSS)|1cBXT;=E*Zqxw|D#2$s v$m>kbjlUNha_wQ)9&zoLu08JBuU-4CYX@EXoom0xkIZ3k{8{{rUlI8ifQ!$K delta 506 zcmXAkOHWf#6otRj+uKuaOPWxPuLP^HMvad+A#r3#OiT=@NJUf>4!sx9R$5A{))$T$ zXvp~k&Kx*mq;cR6(4k}JjvX0e#MR4W?X%a~YwdkLjeZ-6zW)3C1sLb`b~F|E<6$+h zO!}YUuYA^Zme&nszZI6fvzPV^Pj_9tG3nYhx7bW93zii>AMW)(>}m7JNBLFL^8I{u ze9cg*C9b}bbSlQhaT1@+qo{qRyUVUu>Yc=Olen_f(nu*sFXAyzEKiG^pzq%feb2ry zRQ*;o8XcQxwHm#)<&}REorx#N=wc(h$~C<*dWYnM*VUat$l4>XhEAq~}o@^qEjOmQ{Ec8VRINspvG=Or5)_z&tUTbBR; diff --git a/homework-java/target/classes/com/example/School.class b/homework-java/target/classes/com/example/School.class index a085b5ec015391aa7f33d10367e3c254415e0bd7..5b2d741131fbed8cd47114714d0fa58d37635a23 100644 GIT binary patch literal 3262 zcma);YkLz#6vzLQv`v~UZ4E7f7HE)Cl2jVGiIQ3_0i;?kn%W9@VVf+?(quPgH-+L| z(a)f7eZyOCh~V@10etV5@$pgrv%5()X$pNanVCK3%>Vr6%uN3L_sJgs&fuE}0tklC zqo5ak0z5M1xa0ZfK)P(c!@He&g8%hoEi zGV6>!;)d1D%vC0D6M?2yvSCaKBrcnYMuLfwx~3(THO)v+j#f;pYxZ;mhcF#NM!}0X z+(6bIiL$CPZrSKa!DF3TjB$sLDmaGY0`ZEvs^v_hpxR5iU1HC&RbmsE^rzqO^%3!= zB##pcUdAijU`xNp4Q4&e$?2?u8NABziYC)e&ZT_r9?%F*;dBUR6r4q_9hy@b%w|n3 z*R?CRIutcF#23<26obHdncf9~gUPv#27VcyPZ$>k#!26+kgo7!JQ7F4c*EVNMuBZ& z8pKh7{=B|osCK#5tHis+)C)A;8~CYwYvjKPd-DX=Os5cDn&LOB};EZH?VAMw8PS?woaA}8<(Xw zqM&DCYxqe;4z`wSB+s%bXcu%@9#MDKr{xXF(|Oi3ZOg8y)k~UPGK*FiTx%$jXh2V> zc0!yCqt4w=>=%hc2@%E})?FmwrQERKok_pOs_yJyA3loUV|)_Ar}F%MCNR-@Ds*Gb zT;*fpTnp}vbwMrIW{sh~_1{&Vp)2vCY81(jyuWDV)Z}{xH zTtQxloLVmDbz75k=L|!u<;tqXhbM$D1rBV;shiXg?hEXFx+$yF%?tbZ$_03>_ps#y z%w9mgm%IrtIsMBV^IdF?uW-yKu{pkq2>ZP_%=S%sSP0Srm`Xo_NKZXPDE&LOU3-MV zhZt&ghg;qFkIq7Gu^mMp+bG2-=;s4Ii~)>e5NQk{&o4XN&{)9R9B~mxG7l>jvE&Ij zM;j?XN&kYOsmB-%V5zl&{Br^(7-b5rh)Oe}f_HF@kp!;e25n_Z8D|Xi%7{O3A^<72 zkJG@26Gn0Ry4{(-UehEFn5r8wn znK9S!C4uiT!LMUIH|5OOW1I}&H_Sf4Imhz85D)(QOJ*2!WbH+W{aqwDia2&-5_@o* ze^;*ZcahuO$U2E>ypInY;Y*(IoAitz82<-D;&1+85KytqRwm%*8sCKLesY~?uE0I; zaV?<8NCH|{uJKN;lbdqA#ULwPxyJomU+dsH=i^Gl4zBSna!oU*DRMnTuG8e2A=hbg zJ<`m2Yg|jvyKo)egzGVKJ>FcQo$GC^I$XvV9uDNE`Tj3gn$x02NiVyia$|HA=N!6UzcG@+ky^GKJ OU0z&Y;46HMUH=2(BH~E^ delta 794 zcmYk4%Tp6U5XQgRO|oPeAqE49QCKC>5F`;IihvIgltd68Xarw`xQ4_B6bV*om2y#U zQc`pB>V=c#1Iv;e@b1Bj<=^4Kn`NmzLsTxa{rLLVJ-xFQcVk3o;LOt`TV%?3goVeAq~mS7R_ zfQ750Xf?2hqYW|flJ&awaPwYGx1xQJGuDiRKd=cdQ9}M~y2Va7yHB3TTj%x+o0z6o)I@S;4Gt;4HtAe{-l;U_%o2R%a_X^LpLh;jPXkad;x R6Y9K7e@UttY~+wf;16ymbO-IAwd4`e6Oq`ie)VlB- zH(hkm(@l@(bkSuOJ*U>9EuPaZvg`lRKcgS_%}ii~u?rWOdGF5s_}zDZ_rCo3&*tv{ zX7C`65W-P3C}>24q3t$b5SdhU)t+Vu52hF6h@mNpxPm=U7&;0@ zc~q?PazzuPdAnK^I$3m=gf2{Oiz~W%rz$*ow#d*qn9glS$lIo>mnNFXXN!VXv@tYU zt`n)82v$uf=#Z)nIxh=pyH`P%6hwKkXbQ`cvV97Aq^wbtxvELYeg$u!m(nR1RnroL zCFch}=SU}_c(Z;8Ra@0YFLAwSl;h|_SUwIYIEVoXrHgetD|2la%%-ymI?KZfj$n|I zFY{F~XXpiPUsdfDT3I&NZHr+qsRpN%Q80vIa$B`TF1#a?!EvVcnVO2yy<(jaL#xadK$>dY=w0-ALM??G_$7uy;aF&p-ajhyY++sNF z*R7w~Zu0~f&dD-=$e{a8JomdTUQZIhk|-7!+PABImRl>ti#T!!Q`h9xlFsd_Nwhxb z#;kK=ayNwO35N04gr8m{%Fh`^3e=iYb#cC0UKZwMzO0cXkuwThTjZuH_nxr9UQs1E zUg|b)BoL5@?s#BeS%#2GZ67h6p4;kwUmucwbKd5K)dgPh+$$wv`vy!CZQWL8=%Qg0 z(Bg8)Y%6sS2I=mPE#h}x{?o>|%WDh++uf<^YsRV^<#IB+Q|vS~nql5$ z_}0%EPtgT=mMTX5H;^-o)oNv8H|2bimkcl8t%v~i>puN}cJy4#aZSsswjfq0S)C@t zoW?CnSWytzL%VVcf*QqrhQ9w-B}Te=p`Wgi5RLi>l5$?tG`K*!5I#ae-d@g{t|sSA zHo3Mp3-mQ0~vUXKVn za3UU@lk`PuHT&Ughi)NtU>`Z}q0mVul;RqAp+fRcf#>WyFSoH5=)3kDsfFS8@S|tw zZ!6xM?%l*8AonxUL%(4pgvbB><*wfj;p)&&6eSFqY?4k|rW~WxItX$S2XGhzI7a66 zL_6p}uHs_{+n9$VNhq&5DaYtAmT;Z0d_ta@!2Tv@QF6&}V+-mi?PT7KnP1Q>qlcX6 z@>qbhFV9BLKf|Z^jK0bm`i+x2jYk5FZ-RTq(-g`flq|Zh%JNSc=%#PPnB$?#)!M3P zME;c_9}LTZS#<9Nay$@70jGk1bZ^((1u{-RPP_t$q>%(t3 zoPNs^z0MI$b40!cAI6@os`Yq%D5*%D*Fj)cw!ogD)Fj_}B?;-*PQOn2b<;2TE9N(m z1$HKJ(U(N87bgal+Qud4K_>-Z&kN+J3C}-8TEb>Ne#Z#PZIXqs3XR?^w7NqYW#?(& PbCShrzm9wO0zLl$&Rdx} delta 1055 zcmZ`&O-~b16g_W-cFMFB+mew^6iSPhnQE%CP(vabK|lsjYemGbCJ?RBlHjPzE?l~N zJAZ{0DWHk&b>q))>4u$A?|U<}wHY=q@7{OMJ?GrHvpcYt(7*lp^aa3WJZk8DY$bvr z2Iv?@Rzog^5gcbY^tAG-Qhe!FpB2mH*+~X{qf%R4f9?gzQOo(iU|ityF^nR{5OLQ_ z?nbrtc=Ii*F;l};hD5u5rt;!RY0cF!#lNdxRi(PhcX}G!4UL%8Bm#xRg<+zAlVF&k zNWm;$)U0Tn;t;OUImh2`AoDZ-HyEvub-QQo{eN4ep;XPHU zaOgBh9xzBzMo!c~mTox+Cd2FIGpQJ=<2nu#{SA7Ifc=K5;R3}sTM~*C2?rtjBjSRE zl+ziO$-M09=@0o`8A`ZCuR?z(*z5)u2)wrMzKt&9wvWE(yARuiEtvk)sH-kr6v^l5 z4p(8HUuZjuW7LCT$+N+K^cwlL>ajr8cQ7e|o%iEaVgeAPOjy=*SdO$e^5B~uy COL)rw diff --git a/homework-java/target/classes/com/example/Teacher.class b/homework-java/target/classes/com/example/Teacher.class index d8e22555279bcd43de2a7129520eccd867be5d8d..5d51a8a0588e6b66fee3ed0c8f6a54ece3647659 100644 GIT binary patch literal 1668 zcmaJ>+foxj5IsXe7Q#Ycxht1|L6U&1cZJ{u5-F*Q_`t;npN2363!7bPccA1?{0p^8 z(Bi=l@S`kyb{AMk^dURllkPsJ&-BdiKj*&yEa6QWEl6lc>S#rZp?jYnbJOO|uK9j@ zU(_T+YSD5m`H~@#FKngJhIS2U9Uagax`OZ{Y1!uH=4yo@?Qv(vt%r`0FI2AwlvI9~ zjtsgP+N8TKJp1tUL#F4hI9<$7K7#sxyI{)p+Daksd_UoqGJ?eRF-1bxy`*3hGf1{*ivM&Iwlm8 zq(fEI#vL6wOp!!>6v`?F$vUkgj{?JBogav@>(sdXV97nQe90Z@Gt4(3&`7Bg$ro>k zVW3Ga5hPk=cZZtGR4qrW9o4smx52k<+A*qbjoVw?vy>lgCgq+*O!})$WGyl1yFx}H zD`_=yL+#qhx=@BDLY?`#d*s!`ilwmhC}~a|Jk8Ux>q=jG{P3NSd+v_khUW|us?8jKE9G52w46)zR zXxhThRbBVs=&;nNcWmcc;>O9LXcGQ079U=gQvAT85@l}N>y{Ks(^bb2UfJfpFMJJ4 z3{wp~HKVGb%rN%(CFb9)XWhqb= zSPHf!08K@pOMwq$u7h4dbp_=z1l3IdJpqIsl*>dA4EO23um_V?1=U*oj-Ib%v_SDy zXh2^qx%D#nLDS^%o5@2>lj%K)kY5s%Qae?gImP%DfAy{cBP7^pP+=g9x|Ams$;0pv zkD^*8#awhT`GwNsU1XaQp~vcyNFtCdRh&M>@!|;HEr<7%L-cE`i4Z_a}Hts~Wa>`aQ!d^3r6z#xg1x{tHtcMOFX+ literal 1082 zcmZ`&U2hUW6g|VoF3>3;v{c(FwXJqpw5z^inlv^hO-Oy9ZPLd9Hgub1*DQ|3(0XW910#Znu$Z%v~FqCh^2jTc47&z~`H*POx zFkX9s7auXCt;S^mIpj?gI99+Js=aXNxF5yvz3)2buIOF65ra8$<1;aI8P=`#qG2bF zykO8uniM%oC^O`#wj+EIePYO1C-P$jRTFC*>!>jl6@DChzH@PLdcshMM9>e1$);j8 z5`uX_OXBZyJisPHE)Ek?hP7Fx@}{Na$;~#$Lp&lOaU%b;&rtbSwJhD?cq~gZ0hyBr zdmQ_CLJ^I$14aUCOFWY=g1rg*lu4=W1@75+*ma|G(e>%1(hhsVzZ8)t_xdmsUwb1; zu)QSW76Tu+u?}1+Hfftgo~P9;P`WXhSSK7uJ@>6Axwr-$%3R4#j_w~w(?}`MDkUwd znVivVg3+Jxl*R+vT~TF*=92v#%x+F$+SU}SUlqWjv7$Z~Xk0-a97U|6LFYRJBp7To zX_hNV!_-O=r4)^!X^z!?M)L#rrr4NZYe7>~?TSQGB8sx2;JRHx!SD>5x}8I_q{`ag zu=Rx&DM+o74XEA%XSF_t=S#u$yWowbV0s#w`G}}wzJ}eLpuW&AUmdVT$!@C-wWMku zkD=pXID}L$vv;Uw=3@6V9o%+NUn+!N*jz|jMP}Fs6YSm+G;uJdloF^yp%_FujYk6hnEtUU$r;(A*B+#?I-SAZKuyi;6*K(2Jl)Y5rf6`D(+W-cb9Tegxj{)|)?ki#h3U7dRxR}0K(Ofs zPRp{Ju9a)IomSxbURz<i^S@<7^S3E z>1MTsP9~YrdR!V#XM5y(T>Z%P$S_W1c!u4ALkzNyQTAh!W`YA`8DW|XMGnb^hsAu1 zvUH=ti#z6j2M@~lyWEonM&(!T^FWp`nc*RiWX1%Y3p|!|KrE+uB3VLWmZ#XVZ&9pQ z#8{&u#-<2%q)uNNDWCmQRzXGF4+c~Y?1i`S(JGw delta 449 zcmX|+J5R!37=_Q*LO-aDC1{L<1UfO`V018XFaZHY<&JmpQU$e2T!h8N!O79|2lyL^ zgNcLguFkqU`Ui}sU>JJNd-fv~B`0 z1k8-xZnvy@x7T@8REf0vson|u$@YDV_5+kEBy d=nh@QE>*!E8uS3Chy3=@VyCk@#W^kz`2$&NJ8l2~ From 99cbc6ec6fb3f76658caee3400192a326627fb1d Mon Sep 17 00:00:00 2001 From: Gab Caser Date: Mon, 21 Apr 2025 22:50:08 +0200 Subject: [PATCH 19/20] CommandHandler fixed --- .../main/java/com/example/CommandHandler.java | 51 ++++++++++++++---- .../src/main/java/com/example/Course.java | 12 ++++- .../src/main/java/com/example/Menu.java | 31 +++++------ .../src/main/java/com/example/Student.java | 14 ++--- .../src/main/java/com/example/Teacher.java | 1 + .../classes/com/example/CommandHandler.class | Bin 5141 -> 6040 bytes .../target/classes/com/example/Menu.class | Bin 3896 -> 4586 bytes .../target/classes/com/example/School.class | Bin 3262 -> 1625 bytes .../target/classes/com/example/Student.class | Bin 3129 -> 3285 bytes .../target/classes/com/example/Teacher.class | Bin 1668 -> 2235 bytes 10 files changed, 77 insertions(+), 32 deletions(-) diff --git a/homework-java/src/main/java/com/example/CommandHandler.java b/homework-java/src/main/java/com/example/CommandHandler.java index deb91db4..8093acdb 100644 --- a/homework-java/src/main/java/com/example/CommandHandler.java +++ b/homework-java/src/main/java/com/example/CommandHandler.java @@ -20,17 +20,15 @@ public void executeCommand(String wholeCommand){ enrollStudent(commandPart[1],commandPart[2]); break; case "ASSIGN": - + assignTeacher(commandPart[1],commandPart[2]); break; case "SHOW": + System.out.println(command); handleShow(commandPart); break; case "LOOKUP": lookUp(commandPart); break; - default: - System.out.println("Can't recognize command"); - } } @@ -70,13 +68,27 @@ public Teacher findTeacherById(String teacher_id){ private void lookUp(String[] commandPart) { switch (commandPart[1]){ case "COURSE": + Course course = findCourseById(commandPart[2]); + if (course != null) + System.out.println(course.toString()); + else + System.out.println("Course not found."); break; case "STUDENT": + Student student = findStudentById(commandPart[2]); + if (student != null) + System.out.println(student.toString()); + else + System.out.println("Student not found."); break; case "TEACHER": - System.out.println(findTeacherById(commandPart[2]).toString()); + Teacher teacher = findTeacherById(commandPart[2]); + if (teacher != null) + System.out.println(teacher.toString()); + else + System.out.println("Teacher not found."); + break; } - } private void enrollStudent(String student_id, String course_id) { @@ -86,37 +98,55 @@ private void enrollStudent(String student_id, String course_id) { if (student != null && course!= null) { student.setCourse(course); updateMoneyEarned(course); + System.out.println(student.toString()); } else { System.out.println("Couldn't assign the course"); } } + public void assignTeacher(String teacher_id, String course_id){ + Teacher teacher = findTeacherById(teacher_id); + Course course = findCourseById(course_id); + + if (teacher != null && course!=null){ + course.setTeacher(teacher); + System.out.println(course.toString()); + }else { + System.out.println("Couldn't assign the course"); + } + } + private void updateMoneyEarned(Course course){ double total = course.getMoney_earned() + course.getPrice(); course.setMoney_earned(total); } private void handleShow(String[] command) { - switch (command[0]){ + System.out.println(Arrays.toString(command) + "del handle"); + switch (command[1]){ case "COURSES": showCourses(); + break; case "STUDENTS": showStudents(); + break; case "TEACHERS": showTeachers(); + break; case "PROFIT": showProfit(); - default: - System.out.println( "Can't recognize command"); + break; } } private void showStudents() { + System.out.println("llego a show students"); StringBuilder studentsString = new StringBuilder(); for (Student student: students){ studentsString.append(student.toString()).append("\n"); } + System.out.println("Student usando el toString() es:"); System.out.println(studentsString); } @@ -129,7 +159,10 @@ private void showTeachers() { } private void showProfit() { + double totalEarned = courses.stream().mapToDouble(courses ->courses.getMoney_earned()).sum(); + double totalSalaries = teachers.stream().mapToDouble(teachers -> teachers.getSalary()).sum(); + System.out.println("Profits are: " + (totalEarned-totalSalaries)); } private void showCourses() { diff --git a/homework-java/src/main/java/com/example/Course.java b/homework-java/src/main/java/com/example/Course.java index bae35b0e..22ef0fef 100644 --- a/homework-java/src/main/java/com/example/Course.java +++ b/homework-java/src/main/java/com/example/Course.java @@ -12,7 +12,7 @@ public class Course { private String name; private double price; private double money_earned; - // private Teacher teacher; + private Teacher teacher; //constructor de name y price public Course(String name, double price) { @@ -72,6 +72,14 @@ public void setMoney_earned(double money_earned) { this.money_earned = money_earned; } + public Teacher getTeacher() { + return teacher; + } + + public void setTeacher(Teacher teacher) { + this.teacher = teacher; + } + @Override public String toString() { return "CourseClass{" + @@ -81,4 +89,6 @@ public String toString() { ", money_earned=" + money_earned + '}'; } + + } diff --git a/homework-java/src/main/java/com/example/Menu.java b/homework-java/src/main/java/com/example/Menu.java index 03336945..72dacc77 100644 --- a/homework-java/src/main/java/com/example/Menu.java +++ b/homework-java/src/main/java/com/example/Menu.java @@ -19,8 +19,8 @@ public static void main(String[] args) { System.out.println("Now, we need some teachers for your school " + schoolName + ". How wany teachers should be created? Please enter a number."); int numberOfTeachers = Integer.parseInt(myScanner.nextLine()); - for (int i = 1; i < numberOfTeachers; i++) { - System.out.println("\nEnter the details for teacher " + i); + for (int i = 0; i < numberOfTeachers; i++) { + System.out.println("\nEnter the details for teacher " + (i+1)); System.out.println("Name: "); String name = myScanner.nextLine(); @@ -31,15 +31,15 @@ public static void main(String[] args) { Teacher teacher = new Teacher(name, salary); school.addTeacher(teacher); - System.out.println("Teacher " + i + " added."); + System.out.println("Teacher " + (i+1) + " added."); } System.out.println(numberOfTeachers + "teachers created for " + schoolName); System.out.println("Now, we need some courses. How wany should be created? Please enter a number."); int numberOfCourses = Integer.parseInt(myScanner.nextLine()); - for (int i = 1; i < numberOfCourses; i++) { - System.out.println("\nEnter the details for course " + i); + for (int i = 0; i < numberOfCourses; i++) { + System.out.println("\nEnter the details for course " + (i+1)); System.out.println("Name: "); String name = myScanner.nextLine(); @@ -57,8 +57,8 @@ public static void main(String[] args) { System.out.println("Let's create the students. How many should be created? Please enter a number."); int numberOfStudents = Integer.parseInt(myScanner.nextLine()); - for (int i = 1; i < numberOfStudents; i++) { - System.out.println("\nEnter the details for student " + i); + for (int i = 0; i < numberOfStudents; i++) { + System.out.println("\nEnter the details for student " + (i+1)); System.out.println("Name: "); String name = myScanner.nextLine(); @@ -72,7 +72,7 @@ public static void main(String[] args) { Student student = new Student(name, address, email); school.addStudent(student); - System.out.println("Student " + i + " added."); + System.out.println("Student " + (i+1) + " added."); } System.out.println(numberOfStudents + "students created for " + schoolName); @@ -82,13 +82,14 @@ public static void main(String[] args) { System.out.println("Enter a command from the next list: \n ENROLL [STUDENT_ID] [COURSE_ID] \n ASSIGN [TEACHER_ID] [COURSE_ID] \n SHOW COURSES \n LOOKUP COURSE [COURSE_ID] \n SHOW STUDENTS \n LOOKUP STUDENT [STUDENT_ID] \n SHOW TEACHERS \n LOOKUP TEACHER [TEACHER_ID] \n SHOW PROFIT "); var input = myScanner.nextLine(); + CommandHandler commandHandler = new CommandHandler (school.getStudents(), school.getCourses(), school.getTeachers()); commandHandler.executeCommand(input); + /* - - /*String[] parts = input.split(" "); + String[] parts = input.split(" "); if (parts[0].equalsIgnoreCase("ENROLL") && parts.length == 3) { - commandHandler.enrollStudent(parts[1], parts[2]); + CommandHandler.enrollStudent(parts[1], parts[2]); } else if (parts[0].equalsIgnoreCase("ENROLL")) { System.out.println("ENROLL command needs to follow this format: ENROLL [STUDENT_ID] [COURSE_ID]"); } @@ -100,7 +101,7 @@ public static void main(String[] args) { } if (parts[0].equalsIgnoreCase("SHOW") && parts.length == 2 && parts[1].equalsIgnoreCase("COURSES")) { - commandHandler.handleShow(); + CommandHandler.handleShow(); } if (parts[0].equalsIgnoreCase("LOOKUP") && parts[1].equalsIgnoreCase("COURSE") && parts.length == 3) { @@ -110,7 +111,7 @@ public static void main(String[] args) { } if (parts[0].equalsIgnoreCase("SHOW") && parts.length == 2 && parts[1].equalsIgnoreCase("STUDENTS")) { - // commandHandler.enrollStudent(); + CommandHandler.showStudents(); } if (parts[0].equalsIgnoreCase("LOOKUP") && parts[1].equalsIgnoreCase("STUDENT") && parts.length == 3) { @@ -131,9 +132,9 @@ public static void main(String[] args) { if (parts[0].equalsIgnoreCase("SHOW") && parts.length == 2 && parts[1].equalsIgnoreCase("PROFIT")) { //commandHandler.enrollStudent(); - } + } */ + - */ System.out.println("Do you want to perform another action? (yes/no)"); String response = myScanner.nextLine().trim().toLowerCase(); if (!response.equals("yes")) { diff --git a/homework-java/src/main/java/com/example/Student.java b/homework-java/src/main/java/com/example/Student.java index 17372f8e..03717972 100644 --- a/homework-java/src/main/java/com/example/Student.java +++ b/homework-java/src/main/java/com/example/Student.java @@ -78,13 +78,13 @@ public void setName(String name) { @Override public String toString() { - return "Student{" + - "studentId='" + studentId + '\'' + - ", name='" + name + '\'' + - ", address='" + address + '\'' + - ", email='" + email + '\'' + - ", course=" + course + - '}'; + return "\n📘 Student Info\n" + + "------------------------\n" + + "🆔 ID : " + studentId + "\n" + + "👤 Name : " + name + "\n" + + "🏠 Address : " + address + "\n" + + "📧 Email : " + email + "\n" + + "📚 Course : " + (course != null ? getCourse().getName() : "Not enrolled") + "\n"; } } diff --git a/homework-java/src/main/java/com/example/Teacher.java b/homework-java/src/main/java/com/example/Teacher.java index fad4526e..3fc9dbc1 100644 --- a/homework-java/src/main/java/com/example/Teacher.java +++ b/homework-java/src/main/java/com/example/Teacher.java @@ -7,6 +7,7 @@ public class Teacher { private String name; private double salary; + public Teacher (String name, double salary) { this.teacherId = generateUniqueTeacherId(); setName(name); diff --git a/homework-java/target/classes/com/example/CommandHandler.class b/homework-java/target/classes/com/example/CommandHandler.class index 0d2cd306dc108315d4a14627b7a658c8932536cd..db7cab3a663f318629c695ac591ad90def8dcd66 100644 GIT binary patch literal 6040 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 B!9D;0 literal 5141 zcma)9TXj$a)!ytg$aa)OB%3*WHL!0&{zqiKnReMn@k98YE2K5LozU#2{R{z zV6SSS7tmU(g0{7>l~`ykU>SsJu~ks<+Di4o2Osp^=l1&|{(GM@lbj?#lW)(Nwa?mX z|7)#(t-a^k|1P};U?cwFhYM~M9t~dPC@9>kAJA)Kdc423WA|PoVk*d47mY{FMg{JQ z%I-PvVU7yFhFoY07Df_-wZ=hxa42TfHYElJ^?2Vlj+l{D;7ggqeMa0&(QK= zhanBss8Nt-#FL3wENsPScHA>jS9S{bY_odW-WjCFV*F`}TjViqqg{WTiy7Wz4{ zL}K60p*i?G?osgt4QtWh4CZLcGzJ-k#4tlS-`YQ#sO@BoO$O7@2OE4?uV6uw9$#UW zC5=d;KOQ|~l#vJ``F`As4JtNj*n}npMKbM915EgkFc*tY3uGo)-MMJS78P4HY(tBJ zd?$C9uBd4wbu&SZ6<1VRASJb0?D>XVY)7k#HVy6QP!O23kWnEDCcWJ_NIyyJ90j@B>7wV6gUmpZmM{Yz@{2% zl4amW4<6F+Wnm|mcC6W!J{1p7+qlar5kGpdTSFwXu|3_==L7ki)6}tZN4VJsmWUee z+PS&8y~~Fvg|6m}P1~Ax2tMu85ChX*uqPVtv)6AL70@fEGCh-^)~Tp%^#%bWp2pmRsZmXtUK8_n z%;k%hG`yUBVP{&t_@RbZ#S6b!(V0x_iJB^Y#8Apgo6>tX4M$^rM$(TlxJCRE;@e3L zo7B;o5M+iZFWk# z5GT<(N9r?tYh+uzwPuF)LbLpqHf=fy#nrZ(ljq>Hl?~J7%5JtJ>trfujmC}k;lbTT zvP<6`qc4HhL`08u>&d8)?MaV05akiI*x^@`<7g(5V&~G)q0I7;=@4%gplL{*YFVFe zsWllx;by*Z(1;A1hK-eM92rQ&CdGhdYYMmMM=o2DICnbrBwI|;EGHl<#n$1O8#eXG zzBYYG#!AIy(nuWVj#yomGdkVS=k>Z!icdYDhO2M zf1aPkTmj6Xrk|g=$fw03T1s;^XsyQu{G1Xk*?7b^v9mxq zPhxW8BEOdrv!!*0NGz>$S*^2tYk6{sZ{I}|KZ#T6<1RVWzETw^N@IRo$X(Z7z1HKZ z_m+6lSah1N(9hvHT=ViFK6_C9(FC9OrCu}t%jeodD?KOq43>BTcc!uQ1nS-O-f^s? zyj;rV9wC=eULoaTuaFBVS4uf2r`|i?dx|#JbBI6T#}bYpM>WUY!H}me=8O~f>!ml{z#{1l1IdX4c19DXOR1~ZDKziLVX$zehzwuAy3|G1#xKm2IKsl|gpaT^Mp%S%>*(!cp!?$8s4 z>yqviz&!y?MVE^0cYVr9Mcg`O1)g^k;5`=bFWnCKDq622@YND-EwAXS zcrjmtdmO-ji{H%v{`)NOYkcbj-ZKfDce+`D7v2PTuLWGc9q@JBay@}J68OE0_yz*s zMBq&h;D5j$X8`|G7Wkj})(N~f1KcHktk}T+O%oz*N2)w^ZLUVL-73fy&bcpL%U{Ij z%Ig!mKH#(Qz{l5xyet&xlbl)VZXCzrP+*UgiaeC^LxBM)dA*HGM8)y1&Uz3Iu$bdc zj%DL0W_hu!f>omI_NEbcl$X`Fw(`E)LS}Er0kq*TI%NckrKuxXrX7)mqey-Q;F~~* zHKOF@`4_ufpRkj;#4keI;Zu}EZPWyrh5hZKzK7R(s;^=}iRUT;)uJRu*=o{w)Gqrc z9Js8S2(zPgv5R)IzwV+__p?lUxXVKl-x_O&EWR4M61Xb_wOm|XA#1`-8%rTb=8@>x zb0@G|RtI_J5?5mzcekCWLc;zk$KgmzRYe-lh=$~n)tWE6+QaPgI(^ybchww#BwXqX}#jW%i@wLZj0HtKvqlYojbmh`7Q zS6t#(#4Qk84QVFgUWu56cU#1d5b>i#{1_2GPApFl@ske3qTx(O{I^>m=Fb}&aTWbk z#F*r=cm+HqHxM@FQ5EgR4)|)o1AHvvl=2x_XqZ X9&@-V>UFxS*Kg{of{%&Sg}?tF#j}}9 diff --git a/homework-java/target/classes/com/example/Menu.class b/homework-java/target/classes/com/example/Menu.class index 8edff5ff1edcff5b5536163122a3eb483078946b..ee4459a4e3e093735d84b5acaaf9c7ff68ed2ea9 100644 GIT binary patch delta 1940 zcmZ`(Yj6`)6#h<|WRuPEu$>@9C|fMjA|+S`l!79ZLOTS4O-rXOj4a90rX;&1*#H$Z zqWIzs>#K;ORRJFe1t|yuDn3zBK@kOqKhEgj@JIcHAfDaE;W7GS&)$2^cfb3c$L_xT zb2p1e|K5KHzy$o%DV8`WZZ6ICn@x_xbjcjzEKG}X#q{c6ARsq}YHBA{Os~1OYSL`E zu{>B?9jdU`qC6oKs+uxgZmg-8P+nP4{U3->Ww1`}J`<8fIS>p^t(}o^Tt{X@Gk1k# zzCQ!bxUSV9$~HW6@m16r&$XH|=o!_)$yGJ7fH1p8xXli=TyVv#X^oJr+9xocN-iqJps|9u=wa3|DctF9$gfX&Or)Py?Yy$WX%brzx#9%G{VLV262H7*2;w(XG*YW}AC3ePC{O`|>{| z+(<^Isd6}>Dux=7t$fIhkIm!m!ako8dUa2OOtKP*sFC4r95p4+P4tCX2vxV9jM=h9G}xM$BcN#_jb(LkI6t6`Yw0U*2`PWPVYd5x_mC5 zvjcS&)Wy)V-T-Yghe=jU@CiOw2j*EZfnyC)AZ^h!chd+=({7&|wjWX3=djMS+ZX4w z@Kv{VA-~Lh0I~X#E@=ED_(|=>;xbR3C(qr5C44^Tfef+>4|d^^GBHogdAtiNHlinM zumEcqu=VmbE{lk4SamsvGV`KTkPadbb?ArL=noYGpkW}EK;}mT7n=y^HV+QTSJ+ueabPyprf?7I-nRFH_=ohS{ zKd_1}VKtA#nk+XqWO;cWtOoy%zMRNNJcmu(c#Ttd9xrh7m%xY3c#&H^hT|`xgWG)u zw=pigiNohP-@7%dNoc9Cfqk5qN`Z=V8e{Y`0EWQ--&&gXMa&D2<)yX!o3%QyhwAXQrJBq6Be$UgF0Rikp2fW^e;-qo!gHCEa|w7yfFNL*fI-9!xqw-h zn367_A@h!2L~r^Fby++J`%!OwMhEaNQ{2VczF{c`ZF|_Z@7wl>Z9lT@C${~}wx8Sf TOWS^h@0mm7^QTzi8RY!~W2x;# delta 1233 zcmZ9KU2GIp7>3`kJ2PiGJKNPZ+jd3Tr4$Qwp+D#vDgxR7R@w_}A!3bY=nhM9*llO0 zXa!wGRPYDTBPb$LTCrICp@3^yw5TM;5HBz$UKwspjF(=KD1JL_lz8)=bH4MQC+|7m z`F;LWjdA7g!Zd*Uae2~MtjL{#W|>khQN3(X>zC@-PN0~93x$Jvd}J*^X2? zh`R@C%deH9&58>3mlf! z#uEBat~Jv1k<1$l?mETr9^2~MYP&ItS;?fGT%u!wP(|KMIUDP9ZOgNhu`L<)==em2 zgY}i45yI`6AvbH^bncAo2+pCi(he@DI?v>8ZzyS}y_+0)c_KKsY|6j|6a+4sSctFW zkHMemk{mG`m2U|(vc;^DVN=LIOf&fmN&pb+EeJc?v~dKA zw+^6q>nmuLUU*)v3sG#qZRo}A=)+t%sKqd1?5V@+sKi^S#|ZAgDKuabi*ON*_yKWT z#bW%zPkIf__zkW26H9R&cay*(3gI4_gJm=yZ4}3HO5i?f$4XjB;5U#6QWLiLXu+{+@iy-Y4p)goILv7N8F+_hVCVOE7f1NtRMQ2#$G#HGqci@O z3?M;Aag+lpn4}oq&lR)sBb~%Co@w}i0deRz_#&FXaRDKa5vU{nqu24sUreI^MmrSe zc8>6w5}d#&k1P0Y{JSyc>q%e7ef`+i)4qP{>*uVs#9b{OIOppZ_?jUGucz@1zC-jM DIcE;* diff --git a/homework-java/target/classes/com/example/School.class b/homework-java/target/classes/com/example/School.class index 5b2d741131fbed8cd47114714d0fa58d37635a23..ff606244ede8ab7297707f9943c4d9ef0e91f124 100644 GIT binary patch delta 610 zcmZ`#%TB^j6r8rSLb(co+E@}J$U`hDs8oEQ#>B*xZe95gegSUWxx7Cji5p$;0dCxx zxN&9TUl`|J2v$wgYRm_lUqsCg7cDjGl;9dz1YnG}48O*}N z9F~wnh&)#K;!_1^p@~)gRj0fSej$4*adt|MVu|np`PL&!CN77>CX|D#-wNC-#uNpb zR})ErHLPpN4YWyCl5LFvTS?wewH%Itd99;TkT6MB)|?J!o7iHl%lFJ;^y6Qpf9<#b z)P5UXZWxHh_Oj#p`Zi;?MxxsecY4@WZgh`d!ArP8mnouz6nog$DGpSMvwv6c{$8P% Mn5$2nLw%2Vr6%uN3L_sJgs&fuE}0tklC zqo5ak0z5M1xa0ZfK)P(c!@He&g8%hoEi zGV6>!;)d1D%vC0D6M?2yvSCaKBrcnYMuLfwx~3(THO)v+j#f;pYxZ;mhcF#NM!}0X z+(6bIiL$CPZrSKa!DF3TjB$sLDmaGY0`ZEvs^v_hpxR5iU1HC&RbmsE^rzqO^%3!= zB##pcUdAijU`xNp4Q4&e$?2?u8NABziYC)e&ZT_r9?%F*;dBUR6r4q_9hy@b%w|n3 z*R?CRIutcF#23<26obHdncf9~gUPv#27VcyPZ$>k#!26+kgo7!JQ7F4c*EVNMuBZ& z8pKh7{=B|osCK#5tHis+)C)A;8~CYwYvjKPd-DX=Os5cDn&LOB};EZH?VAMw8PS?woaA}8<(Xw zqM&DCYxqe;4z`wSB+s%bXcu%@9#MDKr{xXF(|Oi3ZOg8y)k~UPGK*FiTx%$jXh2V> zc0!yCqt4w=>=%hc2@%E})?FmwrQERKok_pOs_yJyA3loUV|)_Ar}F%MCNR-@Ds*Gb zT;*fpTnp}vbwMrIW{sh~_1{&Vp)2vCY81(jyuWDV)Z}{xH zTtQxloLVmDbz75k=L|!u<;tqXhbM$D1rBV;shiXg?hEXFx+$yF%?tbZ$_03>_ps#y z%w9mgm%IrtIsMBV^IdF?uW-yKu{pkq2>ZP_%=S%sSP0Srm`Xo_NKZXPDE&LOU3-MV zhZt&ghg;qFkIq7Gu^mMp+bG2-=;s4Ii~)>e5NQk{&o4XN&{)9R9B~mxG7l>jvE&Ij zM;j?XN&kYOsmB-%V5zl&{Br^(7-b5rh)Oe}f_HF@kp!;e25n_Z8D|Xi%7{O3A^<72 zkJG@26Gn0Ry4{(-UehEFn5r8wn znK9S!C4uiT!LMUIH|5OOW1I}&H_Sf4Imhz85D)(QOJ*2!WbH+W{aqwDia2&-5_@o* ze^;*ZcahuO$U2E>ypInY;Y*(IoAitz82<-D;&1+85KytqRwm%*8sCKLesY~?uE0I; zaV?<8NCH|{uJKN;lbdqA#ULwPxyJomU+dsH=i^Gl4zBSna!oU*DRMnTuG8e2A=hbg zJ<`m2Yg|jvyKo)egzGVKJ>FcQo$GC^I$XvV9uDNE`Tj3gn$x02NiVyia$|HA=N!6UzcG@+ky^GKJ OU0z&Y;46HMUH=2(BH~E^ diff --git a/homework-java/target/classes/com/example/Student.class b/homework-java/target/classes/com/example/Student.class index 7262cef49159e479fae872ac27339dfe4dc870f2..075e98b2deab14a16235e2d1cc9438ba0f43c953 100644 GIT binary patch delta 1399 zcmZ`&OHUI~6#i~sGYmz95}*~yh!1Sl6i8e^f{K6w3W)UuKCs$Rz&?N$#Ah}B1Fj3> ziiHVVn`(*p+PTn;i7{?ny6M6npm^?`u{5MidS~W-_nh;6=k%L5_20eP=fA5T0CeGT zM*D43RUC8UIQsYx$L>B21301Jq#J{9GgMzs#Dc~`I5r(Mg58O^*`&ds+%!@{;h3Rf zn87`iNa;p=HW7^)k!moExY3N${D?hSe}EB4ngAgtA}km5i@B z&hc^QP3u%?Ob?~zB1Sx=_s4G}v;&)56#Ooqd#d;M=;qa-Gg%<> zLKpfZXkzd3AD8s5NMzPXCUyOPTy|OSjkSa)qav~ZKG)4gEv(Xoc@4L*px};Z?Jjq_ zzOe`Vrz_w{Gc@uUR~;XADSW@upq!(*+Hjr^D?#T48pbGpqO`Fwo>O*KUZk@C9CY7- zOSsH`DSmyFc84j0(X%430u~75pu9#!h5#GJc&qB!CKBCdh)9$t+T9Uda^p$U7i3oY1<|HK|BxPo!mDYDI~8KVk=cwNn9A$i1j+1mx28uNTHGp z5tEGIAnk-!XW$hoUeXI`Ow+?9QNN@zr8+GFCaguLqSNARpOsxmK2S2*zzr+;5OLW= zbYS0W_^kQRUTcwXE1cAnXtmZ1v-pL!25hGy3^%QzeJ!hP7DF>tA1p~cfgVB3E3`T} zU`9{i*Az7@m2{DkqnjwHwUp2&Yz?n? z@>Ls^^p;d|tDuB8l{d>7R7>~vlQ{;+WGBfwgGCCwg^7FVR9H$F$qweB*Jwe?A_*53 z@(T;ms-jgxtB#iM6G1uj=FqYJn6w5yC;K9W@0KFVIv2iX7x1)Dz0Vkq%HS1v*naAmJhQ z3-|~SL=+Prz+3e}xHcNs-ZLppQ!e&t?Y-9jtuL zhA_;aY?-;DHMzvlb%mb$zOu@2k_h7A=*_^vwTrU=EE5&xgK@>FDa1;~;)fS%%{$%fXk7BTGKC7gZNlMR$ zhy0_G3``OHH2v}+I=$k zkfyl~ewv%fF@_Lyh%h17L4=X-YNTbF@2Pipg^!LP&8<+;h6a+;(Sa^pLN_i;e}T~e z1yAuzM(_0^>7+A*3lv=?)aQ6X46_vJJlJ0{DHM`n&J`nbl1_p=V0=RD9&LztmzJQk zCdyC)o&du<7U)*wUGA-W-X-VjRh?hL^qg;#mQTDkt{y@^t(Mj;%{>U9SB8kX&pds> zb`dQUgyEG}w012T7e#ZaZ&Vdt#62O*=d~tTU`41kVp%1d53iAv%&pjm~fJ9v=|< E52{I*NB{r; diff --git a/homework-java/target/classes/com/example/Teacher.class b/homework-java/target/classes/com/example/Teacher.class index 5d51a8a0588e6b66fee3ed0c8f6a54ece3647659..9b08f4139dcf05e3e6fa1c04748ceaa83338c328 100644 GIT binary patch literal 2235 zcmaJ?=~5d<5dKCIS|L^(!hpd?Ajq+_5X%sp0}&h>LQo=bVqu8w93ECvutwS?+L6ot zpNB}LD$kG;T)|a&fV@W@BS+8dg4Q6XC}w9y-Ti(2b@%R{{~Y}R;1)z0F~kidOmrd1 z(Epe};l(<4cZzqm9}8PDBo`dlk&6uRd|@+<6uJ$hP4vKI7__}cQ9R|1{kkY_2yX9+ zCd0^%a7B|#anE(WX^HT@Tw^$wFI3tHRoQghol-Z&>^0Gceui!t1X0G>v!)6@Yhn=R z7z|&?b>0vRL;16o0o7p>BREfC$+pVty!nhFkzX!s8W=lHwk4f<@h*33UL%cB#MN@i z#AUoj7_N9K%Py&q$d?P{ENM1j;&n_?k`2BmmOR(ya?6pswDTo*rLX9eUyCtwR<4n4U%*^*s0vx?K>?P5DHGFplOdzUI{uX*WqYpVj;m23Ne8tm6&@)6qKWIu zInHY}rR}VVx0JRCm()@hH%z>Zcc`*{C<$B6g5f=t**rZv$Qi*3tG3)BM*|BC18vT$ z+~1|F(kLNLMW{MEE|;w)m2C3mycf>KUo0^UcVI%rqg0l>8b#@=IIdW4HMT`_gKyXA zCR_1rUf<+RN1emVgxqzMVwDcvN+?NJM_^!OhL}U0mu%{GIBCI1i;#V$D!IM4#`nYU z=8lk&9yjP1^kp~gj=PSAXPN3Jy+A(NF4*;Ou+mkp)wIQmqcSkVP}h`<)T6gOPx`XS z_t%8n^=f_!lz*(sQuv%v+41ZxzVQpb$&d@`jU8%#zTBz;7e8CuNZRe33S{i z-kvB1oPuUv;kNYDoO~A*KQs(Dtdcr);pZxzx7XS)ovmHu<|W6CXZxaq`NN3)aVJNv z!VpWmUavY*PzB7gOD~wEI`@6y8z7mkoXM#ZRRcD|<^MOO>IZpYf<`4q6Q7`!UQV=& zsX@|DnjdsY47{`9lo-tetMt zI!sO==Y)Ex(%%3wbk~a|x*ew=6avfmke+I%C@{TKBw`ve8A9IFXAn#TvJKR$gY^+m zzlKo&rVf?~0b-g$!2bsdrufgk!07$wxUe=o5dZcN7yE0E7B3wUGgN*-Zt8dBWBC5x zzk>a>7`CQGO6nq=lqOx)Z^$V0m_}E!fQYv9>H+3X6S+=AW?n%=wULtV(-TD&s49v`mgJmKlG6X&5#9w(%X1^b zDjO!3!e>?N1`WN}ZgTlkvp)L=cr IHfk9C4=x_OyZ`_I literal 1668 zcmaJ>+foxj5IsXe7Q#Ycxht1|L6U&1cZJ{u5-F*Q_`t;npN2363!7bPccA1?{0p^8 z(Bi=l@S`kyb{AMk^dURllkPsJ&-BdiKj*&yEa6QWEl6lc>S#rZp?jYnbJOO|uK9j@ zU(_T+YSD5m`H~@#FKngJhIS2U9Uagax`OZ{Y1!uH=4yo@?Qv(vt%r`0FI2AwlvI9~ zjtsgP+N8TKJp1tUL#F4hI9<$7K7#sxyI{)p+Daksd_UoqGJ?eRF-1bxy`*3hGf1{*ivM&Iwlm8 zq(fEI#vL6wOp!!>6v`?F$vUkgj{?JBogav@>(sdXV97nQe90Z@Gt4(3&`7Bg$ro>k zVW3Ga5hPk=cZZtGR4qrW9o4smx52k<+A*qbjoVw?vy>lgCgq+*O!})$WGyl1yFx}H zD`_=yL+#qhx=@BDLY?`#d*s!`ilwmhC}~a|Jk8Ux>q=jG{P3NSd+v_khUW|us?8jKE9G52w46)zR zXxhThRbBVs=&;nNcWmcc;>O9LXcGQ079U=gQvAT85@l}N>y{Ks(^bb2UfJfpFMJJ4 z3{wp~HKVGb%rN%(CFb9)XWhqb= zSPHf!08K@pOMwq$u7h4dbp_=z1l3IdJpqIsl*>dA4EO23um_V?1=U*oj-Ib%v_SDy zXh2^qx%D#nLDS^%o5@2>lj%K)kY5s%Qae?gImP%DfAy{cBP7^pP+=g9x|Ams$;0pv zkD^*8#awhT`GwNsU1XaQp~vcyNFtCdRh&M>@!|;HEr<7%L-cE`i4Z_a}Hts~Wa>`aQ!d^3r6z#xg1x{tHtcMOFX+ From c5a01ede4ee62c033f1a873a32993df06afd71d2 Mon Sep 17 00:00:00 2001 From: Gab Caser Date: Mon, 21 Apr 2025 23:07:20 +0200 Subject: [PATCH 20/20] Better formats --- .../main/java/com/example/CommandHandler.java | 13 +++++++++---- .../src/main/java/com/example/Course.java | 18 ++++++++++-------- .../src/main/java/com/example/Teacher.java | 8 +++++++- .../classes/com/example/CommandHandler.class | Bin 6040 -> 7401 bytes .../target/classes/com/example/Course.class | Bin 2610 -> 3108 bytes .../target/classes/com/example/Teacher.class | Bin 2235 -> 2418 bytes 6 files changed, 26 insertions(+), 13 deletions(-) diff --git a/homework-java/src/main/java/com/example/CommandHandler.java b/homework-java/src/main/java/com/example/CommandHandler.java index 8093acdb..93fa441f 100644 --- a/homework-java/src/main/java/com/example/CommandHandler.java +++ b/homework-java/src/main/java/com/example/CommandHandler.java @@ -159,10 +159,15 @@ private void showTeachers() { } private void showProfit() { - double totalEarned = courses.stream().mapToDouble(courses ->courses.getMoney_earned()).sum(); - double totalSalaries = teachers.stream().mapToDouble(teachers -> teachers.getSalary()).sum(); - - System.out.println("Profits are: " + (totalEarned-totalSalaries)); + double totalEarned = courses.stream().mapToDouble(Course::getMoney_earned).sum(); + double totalSalaries = teachers.stream().mapToDouble(Teacher::getSalary).sum(); + + System.out.println("===== FINANCIAL REPORT ====="); + System.out.println("Total income from courses: $" + totalEarned); + System.out.println("Total expenses (teachers' salaries): $" + totalSalaries); + System.out.println("------------------------------"); + System.out.printf("Net profit: $%.2f%n", (totalEarned - totalSalaries)); + System.out.println("=============================="); } private void showCourses() { diff --git a/homework-java/src/main/java/com/example/Course.java b/homework-java/src/main/java/com/example/Course.java index 22ef0fef..a5a6354a 100644 --- a/homework-java/src/main/java/com/example/Course.java +++ b/homework-java/src/main/java/com/example/Course.java @@ -80,15 +80,17 @@ public void setTeacher(Teacher teacher) { this.teacher = teacher; } + @Override public String toString() { - return "CourseClass{" + - "courseId='" + courseId + '\'' + - ", name='" + name + '\'' + - ", price=" + price + - ", money_earned=" + money_earned + - '}'; + return String.format( + "📚 Course Info:\n" + + "🔢 ID : %s\n" + + "📖 Name : %s\n" + + "💵 Price : $%.2f\n" + + "💰 Money Earned : $%.2f\n" + + "👨‍🏫 Teacher : %s", + courseId, name, price, money_earned, teacher + ); } - - } diff --git a/homework-java/src/main/java/com/example/Teacher.java b/homework-java/src/main/java/com/example/Teacher.java index 3fc9dbc1..cf69ab04 100644 --- a/homework-java/src/main/java/com/example/Teacher.java +++ b/homework-java/src/main/java/com/example/Teacher.java @@ -51,6 +51,12 @@ public void setSalary(double salary) { @Override public String toString() { - return "Name: " + name + ", teacherId: " + teacherId + ", Salary: $" + salary; + return String.format( + "👨‍🏫 Teacher Info:\n" + + "📛 Name : %s\n" + + "🆔 ID : %s\n" + + "💰 Salary : $%.2f", + name, teacherId, salary + ); } } diff --git a/homework-java/target/classes/com/example/CommandHandler.class b/homework-java/target/classes/com/example/CommandHandler.class index db7cab3a663f318629c695ac591ad90def8dcd66..384c9d1ad108238906dce2593b7a0beae1a07a03 100644 GIT binary patch literal 7401 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 literal 6040 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 B!9D;0 diff --git a/homework-java/target/classes/com/example/Course.class b/homework-java/target/classes/com/example/Course.class index bdd1b4a740749c272bd6cd27092d64e36cf6b083..bfef26dc4483e257a082abf43c0d9e0da2868c79 100644 GIT binary patch literal 3108 zcmai0+fx%)82_CFvLP%)BA{Z`MW8~U#-eS7P%08FX#-vYShQA`53=_7waFW))4Aqy@oGwiv2m*4rm-}jyT{`a$A0gT~x z1OWsU)TyXPh+)SyeN|5sbaOFrX8sz_*$kl(!!+zshG1{sYy@F6D2S+Ngvt=hS;Yju zp%+&QJTY!nN@dQ_zQ|2p(rrFt8rLh_*-qyfT6_C4HTzk+WSEP|2C~?!B8nXh;hZ!f zWMlr4F%>(7WSyxOxlnCW(T-gV^(!SKN6uL)f<5R^uvf(^*vHT;JyvX^keHcCrx+q7 z-OO7>XA!GH+7L(z{R1jAalf!_IWQF*tOiF)o|iTv=tNL_dQ`lMLkx<^Z`f&*qE^?N z?n}og#(gT{=x5kf)R!q1W=^*+81@p)%C>IWWrj8q^}p?FDh?w-W-Dc$Pv=QC>Ig~< zS#BpA@j3<-993})Z!k2~E=#8}pr)-Gru5?R;p8^icTwoSrQ*0y4(j>52+U%`xFFRY+|wonQtgyPs%hTC z`#=0~`>XZ4zpVfEqvqmsj7ZxUM@qpd6{qoTHNTSlDXTJHAUY|ldZEJ4EQlH5N_Xu9OIFm!n*z$H>dJMw3*aK1fo1vqai)D^FIU8N=jLmEt@vP3tlYv5b|| z3$uF35Nmg{&R#NzSgo5l;G~Abdz(wStC%XNwXop0WW zkc`V8s%7dLe#EEdLW&z=yL)}5B;t`=!ELLNEH%9xKWzxUH9Dvci)0g>PFj{-woCfT zB)6BWd^rpXcwn4GL#RZsijNiC5dGyQL$~CIB(GtvTFX4)u*YdRr}dm|l}PLxZwOsM z$M^)bv;r@8XDn;EvXXq6I-Z?Piqkh&xR3b%aN9L8t``bf!{)>QHEq(nF<#KiWnNbB z8AH!Yck+X(;0uQR|1C=FbMA#s>Tm(-%OP}#<_d;$vBaXhjR! zXs;c!w5yR3GJy;DfJQMB5SW|^5CQ2j|G*iTMtu9~H}J>;qb&Dbkl zsM1{2brBHnw`=ZOGAC{@_#B;cPtY|v&=UOeF}io;ua53}hF&1^00aF$<46E^{`u3H zzZt-V{(Gbqgt%M>#S=I{vF#-22Wj0!FJcdl&{teAF0ZX%4i_c1K^I2{cH@$~YM5j` z#AU+r5y>}z{YAzUGRJUb1FA@uh)R9@5n6=zfb=c`0}OcXS?}6sxC)(4MW#kcT4r8m zrxq>o69|N~p58)%wcU~0NJhv_2E#mZuB`;gRDrbqL`q&D$9#e0i7HhfK^cTl{Lm(b zI6#gQkfCjW2rh^SEciyGX=_AAe1RRGfGzzVL@7^YL3{!93TRuP(g KiqCNid;SFoeSj|j delta 1071 zcmZ`%U2hUW6g>moU06yHA(XZcr7;bNMErUX3lsz@)wbH!FZ`-2tO!!7peDu`;t%j? z9)0x(SZia_CO#XVH2$6%?+hE-Q2Ma5vv zVMLK;xD;8a8*hww!)R9HtFKzMW|c3izFaz9^5g;_WjY8vZiclV-IE1M}63$1T7&9`f&(Q2BN6npPc zQPE-IsfMbs_Kg2g{ti87nC5%Rv|YnG|E-?)Dj3IU#HoSH)Q}B1?$@SVZu(Y`r?tR~ zT7=EjVG=J_XWk`?%_7K+bNZA6}oVTc$jXMH50! ziGG9k3vFx=zEoL^9q^-A{0z%0SfS$r!O{e`33&9>HoTj?>${kj)PH*th+fW{y?zH>N%4n^SZk03eF z$=$&Txci-C$Vv7HCmt(-Qa1sBuju~peg^r0%J;e%@Q?ba%&VJpk#y#d(3!D14)r?D zSmOH(zG7P czvCeu(R+lhlnJpWR|7Sw>GWMk15J$m2d$)nb^rhX diff --git a/homework-java/target/classes/com/example/Teacher.class b/homework-java/target/classes/com/example/Teacher.class index 9b08f4139dcf05e3e6fa1c04748ceaa83338c328..9f92485569365911facabae8694da8f627dfc740 100644 GIT binary patch delta 1090 zcmZ{i%TE(g6vn?hOgnXGfl{S{uK~fp5UoXm(kiG_1g)SBJ}N#Ka9Y5OC1Ozp0^IL7mGRMZPg4Ul;PsLPzy7XEbFmsmXd}3PDG|3yK zl~-DS!WA{ml{ZW87c|4nnuTZLD5fxBB&KFY zvlfFgYi4Jx!8F6Z=0r=9N9+uUtJL>J1wDQwaLGkD0YG}$kWds&Ukic;jBBhFOLBdrFjNeJ%7!g-aC%lCQ zZ_gahse_l+8u+juA=J{o4##j1CviyR>qHAd!42FL^fs4NNAU)#h~5)KZWCz_ z*l&^)LNVNNijf?l9q-(ue?VY?{!qtr^zaI`en+bww*bT4U9+QZ_EvJ!uE`NDO=NU1WiF>0h_?xvCArnavkW~|}- zwmZ%=bkO^Z<1jjSt&9MIM%EbzAMOh7fMy{T37EuoQn#l&Pe_Y2VkJP>z& Yh)4AF(dj7tMleo0KHw90f*fl90*1w;^#A|> delta 891 zcmZ{i+fEZv6o&sjZD;CG3T>qvG%#wxT1bW}o(fb8sGt=OBPw_tVFH-SMXe@!(}$P` z&^JJW!~_y=O^A0siQa4c_nyHRgPCOQ*=w)$|KDCSKhirXbNAQwX8;v=8>XT4r6F)W zfuksK%~zkhuU)(5t}WY6qrSSf?0=7D#FXD2>F630NU7sjjn$ex?Y>-byoQO<&GAT8 zl#Fz>!(^g;%n~kk#)y^=~yuF01pj3lHQN~_t9@r zSD@ej8tso5SoGh;<}zh+YPbNCj4@nftoVkWADm!5%M5rDMGF#qQfOr^iAiQHL>N0U zg-iZ|-X|*lTfNtoT}gG)#;$hNBdZhC1-n_zRa1J>>5D$uls!Gr89NZCVg_B@cVhsD zFpR^>tw6O53|z()rG7G0>S66PeFQrTn88(QU!&3ih@VUulo6;Z`wG)GcM>F4_=wgI ze9O*TfjVgG5P_q$r0diMDYL2&c)j0PFN$Sn2S3aokd;azMw_#etR`jLv_; r_$G3aO+fw*fkc|zx4F~c;11VhFJI?bGNj5OX&U$6_jG>