From c39d5c6ae8002543d78d160e4f29b73bbedd3fa8 Mon Sep 17 00:00:00 2001 From: anys34 Date: Wed, 14 Jun 2023 01:26:08 +0900 Subject: [PATCH 01/18] =?UTF-8?q?DOCS=20::=20School=20=EC=B6=94=EA=B0=80?= =?UTF-8?q?=20-=20School=20=ED=81=B4=EB=9E=98=EC=8A=A4=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Main.java | 8 ++++---- src/school/School.java | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 src/school/School.java diff --git a/src/Main.java b/src/Main.java index 51147df..f71d326 100644 --- a/src/Main.java +++ b/src/Main.java @@ -19,11 +19,11 @@ public static void main(String[] args) { // 금곰돌 학생이 부산소프트웨어마이스터고등학교에 낼 원서를 작성합니다. // 금곰돌 학생이 원서를 제출합니다. - - + + // TODO-3 이밤돌 학생 원서 재제출 // 이밤돌 학생이 부산소프트웨어마이스터고등학교에 낼 원서를 작성합니다. - + // 이밤돌 학생이 원서를 제출합니다. // 원서는 정상적으로 처리하지 않고, 한 번만 제출할 수 있다는 메시지를 출력합니다. @@ -42,4 +42,4 @@ public static void main(String[] args) { // 금곰돌 학생이 본인의 원서 상태를 조회합니다. } -} +} \ No newline at end of file diff --git a/src/school/School.java b/src/school/School.java new file mode 100644 index 0000000..3454e46 --- /dev/null +++ b/src/school/School.java @@ -0,0 +1,4 @@ +package school; + +public class School { +} From 36d0464b14768a640a83feb6fd54ca8f94513a9d Mon Sep 17 00:00:00 2001 From: anys34 Date: Wed, 14 Jun 2023 01:29:24 +0900 Subject: [PATCH 02/18] =?UTF-8?q?DOSC=20::=20Student=20=EC=B6=94=EA=B0=80?= =?UTF-8?q?=20-=20Student=20=ED=81=B4=EB=9E=98=EC=8A=A4=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/student/Student.java | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 src/student/Student.java diff --git a/src/student/Student.java b/src/student/Student.java new file mode 100644 index 0000000..75371b7 --- /dev/null +++ b/src/student/Student.java @@ -0,0 +1,4 @@ +package student; + +public class Student { +} From 01685b4166eedb2638bd6e766ff28ebe6b2bb6db Mon Sep 17 00:00:00 2001 From: anys34 Date: Wed, 14 Jun 2023 01:32:41 +0900 Subject: [PATCH 03/18] =?UTF-8?q?ADD=20::=20=EC=9D=B8=EC=8A=A4=ED=84=B4?= =?UTF-8?q?=EC=8A=A4=20=EC=83=9D=EC=84=B1=20-=20=EC=9D=B8=EC=8A=A4?= =?UTF-8?q?=ED=84=B4=EC=8A=A4=20School,=20Student=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Main.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Main.java b/src/Main.java index f71d326..a4c1b47 100644 --- a/src/Main.java +++ b/src/Main.java @@ -1,13 +1,16 @@ +import school.School; +import student.Student; + public class Main { public static void main(String[] args) { // TODO-0 데이터 생성 // 부산소프트웨어마이스터고등학교를 생성합니다. - + School bssm = new School(); // 밤돌중학교를 다니고 있는 이밤돌 학생을 생성합니다. - + Student leebamdol = new Student(); // 곰돌중학교를 다니고 있는 금곰돌 학생을 생성합니다. - + Student geumgomdol = new Student(); // TODO-1 이밤돌 학생 원서 // 이밤돌 학생이 부산소프트웨어마이스터고등학교에 낼 원서를 작성합니다. From 8755fa941cca417ef5ef51bbbaedabdcd7cd9b68 Mon Sep 17 00:00:00 2001 From: anys34 Date: Wed, 14 Jun 2023 01:37:39 +0900 Subject: [PATCH 04/18] =?UTF-8?q?ADD=20::=20=EB=A9=A4=EB=B2=84=20=EB=B3=80?= =?UTF-8?q?=EC=88=98=20=EC=83=9D=EC=84=B1=20-=20name,=20tel,=20nativeSC,?= =?UTF-8?q?=20score,=20attendance,=20point=20=EB=A9=A4=EB=B2=84=20?= =?UTF-8?q?=EB=B3=80=EC=88=98=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/student/Student.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/student/Student.java b/src/student/Student.java index 75371b7..5eca5d2 100644 --- a/src/student/Student.java +++ b/src/student/Student.java @@ -1,4 +1,10 @@ package student; public class Student { + private String name; // 이름 + private String tel; // 전화번호 + private String nativeSC; // 출신 중학교 + private int score; // 성적 + private int attendance; // 출결 + private int point; // 가산점 } From ee46a784226d632852b25440ea4d8a0178653d30 Mon Sep 17 00:00:00 2001 From: anys34 Date: Wed, 14 Jun 2023 01:40:40 +0900 Subject: [PATCH 05/18] =?UTF-8?q?ADD=20::=20Getter=20and=20Setter=20-=20na?= =?UTF-8?q?me,=20tel,=20nativeSC,=20score,=20attendance,=20point=EC=9D=98?= =?UTF-8?q?=20Getter=20and=20Setter=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/student/Student.java | 48 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/src/student/Student.java b/src/student/Student.java index 5eca5d2..0eedfd5 100644 --- a/src/student/Student.java +++ b/src/student/Student.java @@ -7,4 +7,52 @@ public class Student { private int score; // 성적 private int attendance; // 출결 private int point; // 가산점 + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getTel() { + return tel; + } + + public void setTel(String tel) { + this.tel = tel; + } + + public String getNativeSC() { + return nativeSC; + } + + public void setNativeSC(String nativeSC) { + this.nativeSC = nativeSC; + } + + public int getScore() { + return score; + } + + public void setScore(int score) { + this.score = score; + } + + public int getAttendance() { + return attendance; + } + + public void setAttendance(int attendance) { + this.attendance = attendance; + } + + public int getPoint() { + return point; + } + + public void setPoint(int point) { + this.point = point; + } } From 1f5a0533698ab9ba33d887d1ae74e38ad11776d8 Mon Sep 17 00:00:00 2001 From: anys34 Date: Wed, 14 Jun 2023 01:47:59 +0900 Subject: [PATCH 06/18] =?UTF-8?q?ADD=20::=20=EC=9B=90=EC=84=9C=20=EC=9E=91?= =?UTF-8?q?=EC=84=B1=20-=20setData=20=EB=A9=94=EC=84=9C=EB=93=9C=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1=20-=20=EA=B0=81=20=ED=95=99=EC=83=9D?= =?UTF-8?q?=EC=9D=98=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=A0=80=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Main.java | 4 ++-- src/student/Student.java | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/Main.java b/src/Main.java index a4c1b47..6720752 100644 --- a/src/Main.java +++ b/src/Main.java @@ -14,13 +14,13 @@ public static void main(String[] args) { // TODO-1 이밤돌 학생 원서 // 이밤돌 학생이 부산소프트웨어마이스터고등학교에 낼 원서를 작성합니다. - + leebamdol.setData("이밤돌", "01012345678", "아리중학교", 52, 9, 2); // 이밤돌 학생이 원서를 제출합니다. // TODO-2 금곰돌 학생 원서 // 금곰돌 학생이 부산소프트웨어마이스터고등학교에 낼 원서를 작성합니다. - + geumgomdol.setData("금곰돌", "01087654321", "솔이중학교", 79, 10, 6); // 금곰돌 학생이 원서를 제출합니다. diff --git a/src/student/Student.java b/src/student/Student.java index 0eedfd5..32235cb 100644 --- a/src/student/Student.java +++ b/src/student/Student.java @@ -8,6 +8,15 @@ public class Student { private int attendance; // 출결 private int point; // 가산점 + public void setData(String name, String tel, String nativeSC, int score, int attendance, int point) { + this.name = name; + this.tel = tel; + this.nativeSC = nativeSC; + this.score = score; + this.attendance = attendance; + this.point = point; + } + public String getName() { return name; } From ca16585e64023151078ec062a539629af1c12a28 Mon Sep 17 00:00:00 2001 From: anys34 Date: Wed, 14 Jun 2023 08:05:45 +0900 Subject: [PATCH 07/18] =?UTF-8?q?ADD=20::=20=ED=95=99=EC=83=9D=20=EC=9B=90?= =?UTF-8?q?=EC=84=9C=20=EC=9E=91=EC=84=B1=20-=20setData=EB=A5=BC=20?= =?UTF-8?q?=ED=98=B8=EC=B6=9C=20=ED=95=98=EC=97=AC=206=EA=B0=9C=EC=9D=98?= =?UTF-8?q?=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=9E=85=EB=A0=A5=20-=20Array?= =?UTF-8?q?list=EC=9D=B8=20studentData=EC=97=90=20=EC=9E=85=EB=A0=A5?= =?UTF-8?q?=EA=B0=92=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/student/Student.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/student/Student.java b/src/student/Student.java index 32235cb..444cea3 100644 --- a/src/student/Student.java +++ b/src/student/Student.java @@ -1,12 +1,26 @@ package student; +import java.util.ArrayList; + public class Student { private String name; // 이름 private String tel; // 전화번호 private String nativeSC; // 출신 중학교 private int score; // 성적 private int attendance; // 출결 - private int point; // 가산점 + private int point; // 가산 + private ArrayList studentData = new ArrayList<>(); + + public Student() {} + + public Student(String name, String tel, String nativeSC, int score, int attendance, int point) { + this.name = name; + this.tel = tel; + this.nativeSC = nativeSC; + this.score = score; + this.attendance = attendance; + this.point = point; + } public void setData(String name, String tel, String nativeSC, int score, int attendance, int point) { this.name = name; @@ -15,6 +29,8 @@ public void setData(String name, String tel, String nativeSC, int score, int att this.score = score; this.attendance = attendance; this.point = point; + Student setStudentData = new Student(name, tel, nativeSC, score, attendance, point); + studentData.add(setStudentData); } public String getName() { From 8263fa538f4e8a1691fe3faca564e9e0095384d6 Mon Sep 17 00:00:00 2001 From: anys34 Date: Wed, 14 Jun 2023 10:25:01 +0900 Subject: [PATCH 08/18] =?UTF-8?q?ADD=20::=20=ED=95=99=EC=83=9D=20=EC=9B=90?= =?UTF-8?q?=EC=84=9C=20=EC=A0=9C=EC=B6=9C=20-=20submit=20=EB=A9=94?= =?UTF-8?q?=EC=84=9C=EB=93=9C=EB=A1=9C=20=ED=95=99=EC=83=9D=EC=9D=98=20Arr?= =?UTF-8?q?aylist=20=EA=B0=92=20=EB=B3=B4=EB=82=B4=EA=B8=B0=20-=20?= =?UTF-8?q?=EB=B0=9B=EC=9D=80=20=EB=8D=B0=EC=9D=B4=ED=84=B0=EB=A5=BC=20Arr?= =?UTF-8?q?aylist=EC=9D=B8=20studentsData=EC=97=90=20=EC=A0=80=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Main.java | 4 ++-- src/school/School.java | 9 +++++++++ src/student/Student.java | 14 ++++++++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/Main.java b/src/Main.java index 6720752..5c7d700 100644 --- a/src/Main.java +++ b/src/Main.java @@ -16,13 +16,13 @@ public static void main(String[] args) { // 이밤돌 학생이 부산소프트웨어마이스터고등학교에 낼 원서를 작성합니다. leebamdol.setData("이밤돌", "01012345678", "아리중학교", 52, 9, 2); // 이밤돌 학생이 원서를 제출합니다. - + bssm.submit(leebamdol.getData()); // TODO-2 금곰돌 학생 원서 // 금곰돌 학생이 부산소프트웨어마이스터고등학교에 낼 원서를 작성합니다. geumgomdol.setData("금곰돌", "01087654321", "솔이중학교", 79, 10, 6); // 금곰돌 학생이 원서를 제출합니다. - + bssm.submit(geumgomdol.getData()); // TODO-3 이밤돌 학생 원서 재제출 // 이밤돌 학생이 부산소프트웨어마이스터고등학교에 낼 원서를 작성합니다. diff --git a/src/school/School.java b/src/school/School.java index 3454e46..37efa1c 100644 --- a/src/school/School.java +++ b/src/school/School.java @@ -1,4 +1,13 @@ package school; +import student.Student; + +import java.util.ArrayList; + public class School { + static ArrayList studentsData = new ArrayList<>(); + + public static void submit(ArrayList obj) { + studentsData.addAll(obj); + } } diff --git a/src/student/Student.java b/src/student/Student.java index 444cea3..ea3a51f 100644 --- a/src/student/Student.java +++ b/src/student/Student.java @@ -33,6 +33,10 @@ public void setData(String name, String tel, String nativeSC, int score, int att studentData.add(setStudentData); } + public ArrayList getData() { + return studentData; + } + public String getName() { return name; } @@ -80,4 +84,14 @@ public int getPoint() { public void setPoint(int point) { this.point = point; } + + @Override + public String toString() { + return "Name: " + name + + ", Tel: " + tel + + ", NativeSC: " + nativeSC + + ", Score: " + score + + ", Attendance: " + attendance + + ", Point: " + point; + } } From 46a38d27d5bb10315e99a46654d0a192d346e606 Mon Sep 17 00:00:00 2001 From: anys34 Date: Wed, 14 Jun 2023 17:11:11 +0900 Subject: [PATCH 09/18] =?UTF-8?q?ADD=20::=20=ED=95=99=EC=83=9D=20=EC=9B=90?= =?UTF-8?q?=EC=84=9C=20=EC=9E=AC=EC=A0=9C=EC=B6=9C=20-=20=EC=B2=98?= =?UTF-8?q?=EC=9D=8C=20=EC=A0=9C=EC=B6=9C=EC=9D=B4=20=EB=90=98=EB=A9=B4=20?= =?UTF-8?q?submit=EC=9D=B4=20true=EB=A1=9C=20=EB=B0=94=EB=80=90=20?= =?UTF-8?q?=ED=9B=84=20bssm=EC=9D=98=20submit=EB=A9=94=EC=86=8C=EB=93=9C?= =?UTF-8?q?=20=ED=98=B8=EC=B6=9C=20-=20getData=EB=A5=BC=20=ED=98=B8?= =?UTF-8?q?=EC=B6=9C=20=ED=96=88=EC=9D=84=20=EB=95=8C=20=EB=A7=8C=EC=95=BD?= =?UTF-8?q?=20true=EC=9D=B4=EB=A9=B4=20null=EC=9D=84=20return=20-=20bssm?= =?UTF-8?q?=EC=9D=98=20submit=EB=A9=94=EC=86=8C=EB=93=9C=EC=97=90=EC=84=9C?= =?UTF-8?q?=20null=EC=9D=B4=20=EC=95=84=EB=8B=90=20=EA=B2=BD=EC=9A=B0=20Ar?= =?UTF-8?q?raylist=EC=97=90=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=A0=80?= =?UTF-8?q?=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Main.java | 4 ++-- src/school/School.java | 2 +- src/student/Student.java | 19 ++++++++++++++++++- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/Main.java b/src/Main.java index 5c7d700..37fb9b0 100644 --- a/src/Main.java +++ b/src/Main.java @@ -26,10 +26,10 @@ public static void main(String[] args) { // TODO-3 이밤돌 학생 원서 재제출 // 이밤돌 학생이 부산소프트웨어마이스터고등학교에 낼 원서를 작성합니다. - + leebamdol.setData("이밤돌", "01012345678", "아리중학교", 52, 9, 2); // 이밤돌 학생이 원서를 제출합니다. // 원서는 정상적으로 처리하지 않고, 한 번만 제출할 수 있다는 메시지를 출력합니다. - + bssm.submit(leebamdol.getData()); // TODO-4 원서 조회 // 제출한 모든 원서를 점수 순을 조회합니다. diff --git a/src/school/School.java b/src/school/School.java index 37efa1c..e3ea2b2 100644 --- a/src/school/School.java +++ b/src/school/School.java @@ -8,6 +8,6 @@ public class School { static ArrayList studentsData = new ArrayList<>(); public static void submit(ArrayList obj) { - studentsData.addAll(obj); + if (obj != null) studentsData.addAll(obj); } } diff --git a/src/student/Student.java b/src/student/Student.java index ea3a51f..cba3316 100644 --- a/src/student/Student.java +++ b/src/student/Student.java @@ -9,6 +9,7 @@ public class Student { private int score; // 성적 private int attendance; // 출결 private int point; // 가산 + private boolean submit = false; private ArrayList studentData = new ArrayList<>(); public Student() {} @@ -34,7 +35,15 @@ public void setData(String name, String tel, String nativeSC, int score, int att } public ArrayList getData() { - return studentData; + if (!submit) { + submit = true; + return studentData; + } + else { + System.out.println(getName() + "님 이미 제출하였습니다."); + return null; + } + } public String getName() { @@ -85,6 +94,14 @@ public void setPoint(int point) { this.point = point; } + public boolean isSubmit() { + return submit; + } + + public void setSubmit(boolean submit) { + this.submit = submit; + } + @Override public String toString() { return "Name: " + name + From 87eff9d36a11dcbe4ed8b453c3a669167f6d4d79 Mon Sep 17 00:00:00 2001 From: anys34 Date: Wed, 14 Jun 2023 19:01:35 +0900 Subject: [PATCH 10/18] =?UTF-8?q?ADD=20::=20=EC=9B=90=EC=84=9C=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20-=20School=ED=81=B4=EB=9E=98=EC=8A=A4=EC=97=90?= =?UTF-8?q?=EC=84=9C=20search=EB=A9=94=EC=84=9C=EB=93=9C=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=20-=20sort=ED=95=A8=EC=88=98=20=EC=95=88=EC=97=90=20?= =?UTF-8?q?=EB=9E=8C=EB=8B=A4=EC=8B=9D=20=EC=82=AC=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EC=97=AC=20=EC=84=B1=EC=A0=81=20=EC=A0=95=EB=A0=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Main.java | 2 +- src/school/School.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Main.java b/src/Main.java index 37fb9b0..1ec1149 100644 --- a/src/Main.java +++ b/src/Main.java @@ -33,7 +33,7 @@ public static void main(String[] args) { // TODO-4 원서 조회 // 제출한 모든 원서를 점수 순을 조회합니다. - + bssm.search(); // TODO-5 합불 여부 입력 // 자유롭게 기준을 세워서 그 기준에 따라 이밤돌 학생은 탈락으로, 금곰돌 학생은 합격으로 처리합니다. diff --git a/src/school/School.java b/src/school/School.java index e3ea2b2..27f74d0 100644 --- a/src/school/School.java +++ b/src/school/School.java @@ -3,6 +3,7 @@ import student.Student; import java.util.ArrayList; +import java.util.Collections; public class School { static ArrayList studentsData = new ArrayList<>(); @@ -10,4 +11,11 @@ public class School { public static void submit(ArrayList obj) { if (obj != null) studentsData.addAll(obj); } + + public static void search() { + studentsData.sort((student1, student2) -> Integer.compare(student2.getScore(), student1.getScore())); + for(Student student : studentsData) { + System.out.println(student); + } + } } From f67422cfaf494a9a37a0c884d75b5cefa8f7943b Mon Sep 17 00:00:00 2001 From: anys34 Date: Wed, 14 Jun 2023 19:22:54 +0900 Subject: [PATCH 11/18] =?UTF-8?q?ADD=20::=20=ED=95=A9=EB=B6=88=20=EC=97=AC?= =?UTF-8?q?=EB=B6=80=20-=20=EA=B8=B0=EB=B3=B8=20Pass=20=EB=B3=80=EC=88=98?= =?UTF-8?q?=20=EA=B0=92=20false=20-=20pass=EB=A9=94=EC=84=9C=EB=93=9C=20?= =?UTF-8?q?=ED=98=B8=EC=B6=9C=20=EC=8B=9C=20=ED=95=A9=EB=B6=88=EC=97=AC?= =?UTF-8?q?=EB=B6=80=20=ED=8C=90=EB=8B=A8=20=ED=9B=84=20pass=EA=B0=92=20tr?= =?UTF-8?q?ue=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Main.java | 2 +- src/school/School.java | 10 +++++++++- src/student/Student.java | 25 ++++++++++++++++++++++--- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/src/Main.java b/src/Main.java index 1ec1149..4d38344 100644 --- a/src/Main.java +++ b/src/Main.java @@ -37,7 +37,7 @@ public static void main(String[] args) { // TODO-5 합불 여부 입력 // 자유롭게 기준을 세워서 그 기준에 따라 이밤돌 학생은 탈락으로, 금곰돌 학생은 합격으로 처리합니다. - + bssm.pass(); // TODO-6 자신의 원서 상태 조회 // 이밤돌 학생이 본인의 원서 상태를 조회합니다. diff --git a/src/school/School.java b/src/school/School.java index 27f74d0..2a6e7ce 100644 --- a/src/school/School.java +++ b/src/school/School.java @@ -3,7 +3,6 @@ import student.Student; import java.util.ArrayList; -import java.util.Collections; public class School { static ArrayList studentsData = new ArrayList<>(); @@ -18,4 +17,13 @@ public static void search() { System.out.println(student); } } + + public static void pass() { + for (Student student : studentsData) { + // 합격 기준 : / 성적 80% / 출결 10% / 가산점 10% / + if (student.getScore() * 0.8 + student.getAttendance() + student.getPoint() >= 70) + student.setPass(true); + System.out.println(student.toStringPass()); + } + } } diff --git a/src/student/Student.java b/src/student/Student.java index cba3316..69edb41 100644 --- a/src/student/Student.java +++ b/src/student/Student.java @@ -9,12 +9,13 @@ public class Student { private int score; // 성적 private int attendance; // 출결 private int point; // 가산 - private boolean submit = false; + private boolean submit = false; // 제출 여부 + private boolean pass = false; // 합불 여부 private ArrayList studentData = new ArrayList<>(); public Student() {} - public Student(String name, String tel, String nativeSC, int score, int attendance, int point) { + public Student(String name, String tel, String nativeSC, int score, int attendance, int point, boolean pass) { this.name = name; this.tel = tel; this.nativeSC = nativeSC; @@ -30,7 +31,7 @@ public void setData(String name, String tel, String nativeSC, int score, int att this.score = score; this.attendance = attendance; this.point = point; - Student setStudentData = new Student(name, tel, nativeSC, score, attendance, point); + Student setStudentData = new Student(name, tel, nativeSC, score, attendance, point, pass); studentData.add(setStudentData); } @@ -102,6 +103,14 @@ public void setSubmit(boolean submit) { this.submit = submit; } + public boolean isPass() { + return pass; + } + + public void setPass(boolean pass) { + this.pass = pass; + } + @Override public String toString() { return "Name: " + name + @@ -111,4 +120,14 @@ public String toString() { ", Attendance: " + attendance + ", Point: " + point; } + + public String toStringPass() { + return "Name: " + name + + ", Tel: " + tel + + ", NativeSC: " + nativeSC + + ", Score: " + score + + ", Attendance: " + attendance + + ", Point: " + point + + ", Pass: " + pass; + } } From 976921c8c05b279306d29bfdaa6d9b73477e875f Mon Sep 17 00:00:00 2001 From: anys34 Date: Wed, 14 Jun 2023 19:35:27 +0900 Subject: [PATCH 12/18] =?UTF-8?q?ADD=20::=20=EC=9B=90=EC=84=9C=20=EC=83=81?= =?UTF-8?q?=ED=83=9C=20=EC=A1=B0=ED=9A=8C=20-=20check=EB=A9=94=EC=84=9C?= =?UTF-8?q?=EB=93=9C=EC=97=90=20name=EA=B0=92=20=EB=B3=B4=EB=82=B8=20?= =?UTF-8?q?=ED=9B=84=20=EC=9D=B4=EB=A6=84=EC=9D=B4=20=EC=9D=BC=EC=B9=98?= =?UTF-8?q?=ED=95=98=EB=A9=B4=20=EC=9B=90=EC=84=9C=20=EB=82=B4=EC=9A=A9=20?= =?UTF-8?q?=EC=B6=9C=EB=A0=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Main.java | 4 ++-- src/school/School.java | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/Main.java b/src/Main.java index 4d38344..47f25fa 100644 --- a/src/Main.java +++ b/src/Main.java @@ -41,8 +41,8 @@ public static void main(String[] args) { // TODO-6 자신의 원서 상태 조회 // 이밤돌 학생이 본인의 원서 상태를 조회합니다. - + bssm.check(leebamdol.getName()); // 금곰돌 학생이 본인의 원서 상태를 조회합니다. - + bssm.check(geumgomdol.getName()); } } \ No newline at end of file diff --git a/src/school/School.java b/src/school/School.java index 2a6e7ce..e02d38d 100644 --- a/src/school/School.java +++ b/src/school/School.java @@ -26,4 +26,21 @@ public static void pass() { System.out.println(student.toStringPass()); } } + + public static void check(String name) { + for (Student student : studentsData) { + if (name.equals(student.getName())) { + System.out.println("=================================="); + System.out.println(student.getName() + "의 원서접수 내용"); + System.out.println("=================================="); + System.out.println("지원자 이름 : " + student.getName()); + System.out.println("전화번호 : " + student.getTel()); + System.out.println("출신 중학교 : " + student.getNativeSC()); + System.out.println("성적 : " + student.getScore()); + System.out.println("출결 : " + student.getAttendance()); + System.out.println("가산점 : " + student.getPoint()); + System.out.println("지원자의 합격 여부 : " + student.isPass()); + } + } + } } From 42cf0cfc5b403b0e4a072b80cd7aa732796a883c Mon Sep 17 00:00:00 2001 From: anys34 Date: Fri, 16 Jun 2023 13:09:40 +0900 Subject: [PATCH 13/18] =?UTF-8?q?REFACTOR=20::=20=EC=9B=90=EC=84=9C=20?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=20-=20for=EB=AC=B8=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EC=9D=B4=EB=A6=84=EC=9D=84=20=EA=B2=80=EC=83=89=ED=95=98?= =?UTF-8?q?=EB=8A=94=20=EA=B2=83=EC=9D=B4=20=EB=B9=84=ED=9A=A8=EC=9C=A8?= =?UTF-8?q?=EC=A0=81=EC=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Main.java | 4 ++-- src/school/School.java | 28 ++++++++++++++-------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/Main.java b/src/Main.java index 47f25fa..9ab8dbf 100644 --- a/src/Main.java +++ b/src/Main.java @@ -14,13 +14,13 @@ public static void main(String[] args) { // TODO-1 이밤돌 학생 원서 // 이밤돌 학생이 부산소프트웨어마이스터고등학교에 낼 원서를 작성합니다. - leebamdol.setData("이밤돌", "01012345678", "아리중학교", 52, 9, 2); + leebamdol.setData("이밤돌", "01012345678", "알이중학교", 52, 9, 2); // 이밤돌 학생이 원서를 제출합니다. bssm.submit(leebamdol.getData()); // TODO-2 금곰돌 학생 원서 // 금곰돌 학생이 부산소프트웨어마이스터고등학교에 낼 원서를 작성합니다. - geumgomdol.setData("금곰돌", "01087654321", "솔이중학교", 79, 10, 6); + geumgomdol.setData("금곰돌", "01087654321", "소리중학교", 79, 10, 6); // 금곰돌 학생이 원서를 제출합니다. bssm.submit(geumgomdol.getData()); diff --git a/src/school/School.java b/src/school/School.java index e02d38d..4f0c742 100644 --- a/src/school/School.java +++ b/src/school/School.java @@ -28,19 +28,19 @@ public static void pass() { } public static void check(String name) { - for (Student student : studentsData) { - if (name.equals(student.getName())) { - System.out.println("=================================="); - System.out.println(student.getName() + "의 원서접수 내용"); - System.out.println("=================================="); - System.out.println("지원자 이름 : " + student.getName()); - System.out.println("전화번호 : " + student.getTel()); - System.out.println("출신 중학교 : " + student.getNativeSC()); - System.out.println("성적 : " + student.getScore()); - System.out.println("출결 : " + student.getAttendance()); - System.out.println("가산점 : " + student.getPoint()); - System.out.println("지원자의 합격 여부 : " + student.isPass()); - } - } + studentsData.stream() + .filter(student -> name.equals(student.getName())) + .forEach(student -> { + System.out.println("=================================="); + System.out.println(student.getName() + "의 원서접수 내용"); + System.out.println("=================================="); + System.out.println("지원자 이름 : " + student.getName()); + System.out.println("전화번호 : " + student.getTel()); + System.out.println("출신 중학교 : " + student.getNativeSC()); + System.out.println("성적 : " + student.getScore()); + System.out.println("출결 : " + student.getAttendance()); + System.out.println("가산점 : " + student.getPoint()); + System.out.println("지원자의 합격 여부 : " + student.isPass()); + }); } } From 7010642bddf6c837454d1f9f7d20bc6adf5fc438 Mon Sep 17 00:00:00 2001 From: anys34 Date: Fri, 16 Jun 2023 15:41:54 +0900 Subject: [PATCH 14/18] =?UTF-8?q?CHORE=20::=20=EC=A3=BC=EC=84=9D=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/school/School.java | 3 ++- src/student/Student.java | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/school/School.java b/src/school/School.java index 4f0c742..8fd318e 100644 --- a/src/school/School.java +++ b/src/school/School.java @@ -8,7 +8,7 @@ public class School { static ArrayList studentsData = new ArrayList<>(); public static void submit(ArrayList obj) { - if (obj != null) studentsData.addAll(obj); + if (obj != null) studentsData.addAll(obj); // 데이터가 포함 되어 있으면 저장 } public static void search() { @@ -28,6 +28,7 @@ public static void pass() { } public static void check(String name) { + // 이름이 같으면 원서접수 내용 출력 studentsData.stream() .filter(student -> name.equals(student.getName())) .forEach(student -> { diff --git a/src/student/Student.java b/src/student/Student.java index 69edb41..a4011bb 100644 --- a/src/student/Student.java +++ b/src/student/Student.java @@ -32,15 +32,15 @@ public void setData(String name, String tel, String nativeSC, int score, int att this.attendance = attendance; this.point = point; Student setStudentData = new Student(name, tel, nativeSC, score, attendance, point, pass); - studentData.add(setStudentData); + studentData.add(setStudentData); // studentData에 받은 데이터 저장 } public ArrayList getData() { - if (!submit) { + if (!submit) { // 제출을 한번도 하지 않았을 경우 submit = true; return studentData; } - else { + else { // 제출을 한번이라도 한 경우 null return System.out.println(getName() + "님 이미 제출하였습니다."); return null; } @@ -121,6 +121,7 @@ public String toString() { ", Point: " + point; } + // 합격 여부 포함 하여 출력 public String toStringPass() { return "Name: " + name + ", Tel: " + tel + From e55ab05ba303469f5e5d6fad2558ceb487b413a9 Mon Sep 17 00:00:00 2001 From: anys34 Date: Sat, 24 Jun 2023 20:17:25 +0900 Subject: [PATCH 15/18] =?UTF-8?q?CHORE=20::=20=ED=95=84=EC=9A=94=20?= =?UTF-8?q?=EC=97=86=EB=8A=94=20=EB=82=B4=EC=9A=A9=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?=EB=B0=8F=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/school/School.java | 6 ++++-- src/student/Student.java | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/school/School.java b/src/school/School.java index 8fd318e..d921e77 100644 --- a/src/school/School.java +++ b/src/school/School.java @@ -7,10 +7,12 @@ public class School { static ArrayList studentsData = new ArrayList<>(); + // 제출 내용 저장 public static void submit(ArrayList obj) { if (obj != null) studentsData.addAll(obj); // 데이터가 포함 되어 있으면 저장 } + // 점수 순으로 출력 public static void search() { studentsData.sort((student1, student2) -> Integer.compare(student2.getScore(), student1.getScore())); for(Student student : studentsData) { @@ -18,17 +20,17 @@ public static void search() { } } + // 합불 여부 처리 public static void pass() { for (Student student : studentsData) { // 합격 기준 : / 성적 80% / 출결 10% / 가산점 10% / if (student.getScore() * 0.8 + student.getAttendance() + student.getPoint() >= 70) student.setPass(true); - System.out.println(student.toStringPass()); } } + // 본인의 원서 조회 public static void check(String name) { - // 이름이 같으면 원서접수 내용 출력 studentsData.stream() .filter(student -> name.equals(student.getName())) .forEach(student -> { diff --git a/src/student/Student.java b/src/student/Student.java index a4011bb..232e350 100644 --- a/src/student/Student.java +++ b/src/student/Student.java @@ -24,6 +24,7 @@ public Student(String name, String tel, String nativeSC, int score, int attendan this.point = point; } + // 학생의 원서 저장 public void setData(String name, String tel, String nativeSC, int score, int attendance, int point) { this.name = name; this.tel = tel; @@ -35,6 +36,7 @@ public void setData(String name, String tel, String nativeSC, int score, int att studentData.add(setStudentData); // studentData에 받은 데이터 저장 } + // 학생 데이터 반환 public ArrayList getData() { if (!submit) { // 제출을 한번도 하지 않았을 경우 submit = true; @@ -44,7 +46,6 @@ public ArrayList getData() { System.out.println(getName() + "님 이미 제출하였습니다."); return null; } - } public String getName() { @@ -121,7 +122,7 @@ public String toString() { ", Point: " + point; } - // 합격 여부 포함 하여 출력 + // 합격 여부 포함하여 출력 public String toStringPass() { return "Name: " + name + ", Tel: " + tel + From 2a87018d01c6c737e17442f10322f5fce07cc7d8 Mon Sep 17 00:00:00 2001 From: anys34 Date: Sat, 24 Jun 2023 20:41:36 +0900 Subject: [PATCH 16/18] =?UTF-8?q?ADD=20::=20=EB=A7=88=ED=81=AC=EB=8B=A4?= =?UTF-8?q?=EC=9A=B4=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/PULL_REQUEST_TEMPLATE.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 7b30767..bda62b1 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -16,14 +16,14 @@ PR의 제목은 '[이름] 과제 제출합니다'로 통일해주세요. ## 1. 구현 여부 ### 요구사항 구현 여부 * -- [ ] 학생은 원서를 제출할 수 있습니다. -- [ ] 학교는 받은 원서를 점수 순으로 다음 정보를 확인할 수 있습니다. +- [X] 학생은 원서를 제출할 수 있습니다. +- [X] 학교는 받은 원서를 점수 순으로 다음 정보를 확인할 수 있습니다. - 지원자의 이름, 전화번호, 출신 중학교 - 지원자의 성적, 출결, 가산점 -- [ ] 학생은 자신이 제출한 원서의 상태를 확인할 수 있습니다. +- [X] 학생은 자신이 제출한 원서의 상태를 확인할 수 있습니다. ### 제한 사항 구현 여부 * -- [ ] 원서는 한 번만 제출할 수 있습니다. +- [X] 원서는 한 번만 제출할 수 있습니다. ### 테스트 - [ ] (진행한 테스트 케이스를 모두 적어주세요) @@ -32,10 +32,12 @@ PR의 제목은 '[이름] 과제 제출합니다'로 통일해주세요. ## 2. 진행 중 느낀점 ### 과제를 진행하며 한 고민들 * -- (고민들을 모두 적어주세요) +- class를 어떤 식으로 나눠야 하는지 고민하였습니다. +- 학생 데이터를 어떤 형식으로 저장을 해야하는지 생각한 후 무슨 컬렉션 프레임워크를 써야할지 고민했습니다. ### 발생한 이슈와 해결 방법 -- (발생한 이슈와 해결 방법을 모두 적어주세요) +- 자신의 원서를 조회할 때 for문으로 자신의 이름과 일치하면 출력하는 형식으로 코드를 작성하였는데 이것이 비효율 적이라 생각하여 stream으로 이름을 필터링 하여 출력을 할 수 있도록 하였습니다. +- student의 멤버변수들을 static으로 생성하였는데 외부의 접근과 수정을 막기 위해 private로 변경하였다. ### 질문 - (질문을 모두 적어주세요) From a9537320f907002477fb43773ef9a55606f46e27 Mon Sep 17 00:00:00 2001 From: anys34 Date: Sat, 24 Jun 2023 20:43:09 +0900 Subject: [PATCH 17/18] =?UTF-8?q?DELETE=20::=20toStringPass=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C=20-=20=EC=82=AC=EC=9A=A9=ED=95=98=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EB=8A=94=20=ED=95=A8=EC=88=98=EC=9E=84=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EC=82=AD=EC=A0=9C=ED=95=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/student/Student.java | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/student/Student.java b/src/student/Student.java index 232e350..7cb4d46 100644 --- a/src/student/Student.java +++ b/src/student/Student.java @@ -121,15 +121,4 @@ public String toString() { ", Attendance: " + attendance + ", Point: " + point; } - - // 합격 여부 포함하여 출력 - public String toStringPass() { - return "Name: " + name + - ", Tel: " + tel + - ", NativeSC: " + nativeSC + - ", Score: " + score + - ", Attendance: " + attendance + - ", Point: " + point + - ", Pass: " + pass; - } } From 7965bc7cff45c237e31ee11b71cf4765b9291f56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=95=88=EC=98=88=EC=84=B1?= <127452485+anys34@users.noreply.github.com> Date: Mon, 26 Jun 2023 20:07:37 +0900 Subject: [PATCH 18/18] Update README.md --- README.md | 100 ++++++++++++++++-------------------------------------- 1 file changed, 29 insertions(+), 71 deletions(-) diff --git a/README.md b/README.md index 1de89a4..bda62b1 100644 --- a/README.md +++ b/README.md @@ -1,85 +1,43 @@ -## 0️⃣ 과제 안내 + -- [ ] 학생은 원서를 제출할 수 있습니다. -- [ ] 학교는 받은 원서를 점수 순으로 다음 정보를 확인할 수 있습니다. +## 1. 구현 여부 +### 요구사항 구현 여부 * +- [X] 학생은 원서를 제출할 수 있습니다. +- [X] 학교는 받은 원서를 점수 순으로 다음 정보를 확인할 수 있습니다. - 지원자의 이름, 전화번호, 출신 중학교 - 지원자의 성적, 출결, 가산점 -- [ ] 학생은 자신이 제출한 원서의 상태를 확인할 수 있습니다. +- [X] 학생은 자신이 제출한 원서의 상태를 확인할 수 있습니다. -### 제한 사항 +### 제한 사항 구현 여부 * +- [X] 원서는 한 번만 제출할 수 있습니다. -- [ ] 원서는 한 번만 제출할 수 있습니다. +### 테스트 +- [ ] (진행한 테스트 케이스를 모두 적어주세요)
-## 1️⃣ 제출 방법 +## 2. 진행 중 느낀점 +### 과제를 진행하며 한 고민들 * +- class를 어떤 식으로 나눠야 하는지 고민하였습니다. +- 학생 데이터를 어떤 형식으로 저장을 해야하는지 생각한 후 무슨 컬렉션 프레임워크를 써야할지 고민했습니다. -1. 이 레포지토리를 포크합니다. -2. 본인의 이름으로 브랜치를 만듭니다. (예시: hanul) -3. 메인 함수의 주석을 읽으며 코드를 작성해 주세요. -4. 테스트 코드를 작성해주세요. (선택 사항, 가산점 부여) -5. 3번과 4번 과정을 진행하며 커밋해주세요. (밑 커밋 규칙 참고) -6. 모두 완료한 후 Pull Request를 보내주세요. +### 발생한 이슈와 해결 방법 +- 자신의 원서를 조회할 때 for문으로 자신의 이름과 일치하면 출력하는 형식으로 코드를 작성하였는데 이것이 비효율 적이라 생각하여 stream으로 이름을 필터링 하여 출력을 할 수 있도록 하였습니다. +- student의 멤버변수들을 static으로 생성하였는데 외부의 접근과 수정을 막기 위해 private로 변경하였다. -> **포크, 브랜치, Pull Request가 뭔지 모르겠다면?**
-다음 글을 참고하면서 진행해주세요!
-꼭 이 글이 아니더라도, 다른 글들을 참고하면서 해도 괜찮습니다.
-[Git을 이용한 협업: Fork 부터 Pull Request 까지](https://seungwubaek.github.io/tools/git/contributing_using_pull_request/) - -
- -## 2️⃣ 평가 기준 - -| 항목 | 내용 | 비율 | -| --- | --- | --- | -| 코드 가독성 | 코드가 얼마나 술술 잘 읽히는가 | 30% | -| 실행 | 기능이 문제 없이 실행되는가 | 30% | -| 학구열 | 자기주도적으로 모르는 내용을 찾아보며 개발했는가 | 30% | -| 성실성 | 성실한가 | 10% | -| 테스트 | 테스트 코드 작성시 가산점 부여 | 3% (추가) | - -
- - -## 3️⃣ 커밋 메시지 규칙 - -### 형식 -``` -Type :: Title - -Body -``` - -### 상세 규칙 -- 헤더는 type을 지정해 주고, title을 명령문으로 작성한다. -- 헤더는 너무 길지 않도록 한다. -- Body에는 해당 커밋에서 무엇을 왜 하였는지 구체적으로 서술한다. -- Footer는 선택사항. -- 원활한 소통을 위해 한글로 작성한다. - -### Header Type -| type | description | -| --- | --- | -| ADD | 새로운 기능 | -| FIX | 버그 수정 | -| REFACTOR | 코드 리팩토링 | -| TEST | 테스트 코드 작성 | -| SET | 프로젝트 세팅 | -| CHORE | 자잘한 일 | -| DOCS | 문서 추가 | -| DELETE | 삭제 | - -### 명령어 예시 -```bash -git commit -m "ADD :: 원서 객체 -- ~~ 구체적인 설명 -" -``` +### 질문 +- (질문을 모두 적어주세요)