From 41334b85845d6a9a6b610c38aba905bc34deb6da Mon Sep 17 00:00:00 2001 From: y-nakano <26-y-nakano-tmn@it-college.co.jp> Date: Thu, 24 Sep 2026 15:27:32 +0900 Subject: [PATCH] =?UTF-8?q?3=E6=97=A5=E5=88=86=E3=81=AE=E3=83=9F=E3=83=83?= =?UTF-8?q?=E3=82=B7=E3=83=A7=E3=83=B3=E8=AA=B2=E9=A1=8C=E3=81=A7=E3=81=99?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- em-oop/src/BaseData.java | 9 ++ em-oop/src/BasicCheck1.java | 20 ++-- em-oop/src/BasicCheck2.java | 22 ++++- em-oop/src/BasicCheck3.java | 6 ++ em-oop/src/Book.java | 15 ++- em-oop/src/DepartmentData.java | 44 +++++++++ em-oop/src/EmployeeData.java | 172 +++++++++++++++++++++++++++------ em-oop/src/Item.java | 47 +++++++-- em-oop/src/Main.java | 165 +++++++++++++++++++++++++++++-- em-oop/src/Student.java | 21 +++- 10 files changed, 458 insertions(+), 63 deletions(-) create mode 100644 em-oop/src/BaseData.java create mode 100644 em-oop/src/DepartmentData.java diff --git a/em-oop/src/BaseData.java b/em-oop/src/BaseData.java new file mode 100644 index 0000000..4f13140 --- /dev/null +++ b/em-oop/src/BaseData.java @@ -0,0 +1,9 @@ + +public abstract class BaseData { + //3-4 + public abstract String toString(); + + public abstract String toCSV(); + + public abstract String getPrimaryKeyValue(); +} diff --git a/em-oop/src/BasicCheck1.java b/em-oop/src/BasicCheck1.java index cfbd7f4..4b194e5 100644 --- a/em-oop/src/BasicCheck1.java +++ b/em-oop/src/BasicCheck1.java @@ -2,25 +2,27 @@ public class BasicCheck1 { public static void main(String[] args) { - // TODO 自動生成されたメソッド・スタブ - Book book = new Book(); + //1-1 + // Book book = new Book(); // book.title = "吾輩は猫である"; // book.author = "夏目漱石"; // book.price = 800; + // // System.out.println(book.title); // System.out.println(book.author); // System.out.println(book.price); - book.title = "タイトル未設定"; - book.author = "著者未設定"; - book.price = 0; + //1-1 - System.out.println(book.title); - System.out.println(book.author); - System.out.println(book.price); + //2-1 + Book book1 = new Book(); + System.out.println(book1.title); + System.out.println(book1.author); + System.out.println(book1.price); - Book book2 = new Book("銀河鉄道の夜","宮沢賢治",500); + Book book2 = new Book("銀河鉄道の夜", "宮沢賢治", 500); System.out.println(book2.title); System.out.println(book2.author); System.out.println(book2.price); + //2-1 } } diff --git a/em-oop/src/BasicCheck2.java b/em-oop/src/BasicCheck2.java index ac2889a..b7a302c 100644 --- a/em-oop/src/BasicCheck2.java +++ b/em-oop/src/BasicCheck2.java @@ -2,11 +2,23 @@ public class BasicCheck2 { public static void main(String[] args) { - // TODO 自動生成されたメソッド・スタブ - Student student = new Student(); - student.studentId = 1; - student.name = "鈴木一郎"; + //1-2 + // Student student = new Student(); + // student.studentId=1; + // student.name="鈴木一郎"; + // + // student.printProfile(); + //1-2 - student.printProfile(); + //2-3 + Student student1 = new Student(1, "鈴木一郎"); + student1.printProfile(); + Student student2 = new Student(2, "田中花子"); + student2.printProfile(); + Student student3 = new Student(3, "佐藤次郎"); + student3.printProfile(); + + System.out.println("現在の生徒数:" + Student.getStudentCount() + "人"); + //2-3 } } \ No newline at end of file diff --git a/em-oop/src/BasicCheck3.java b/em-oop/src/BasicCheck3.java index 346c588..fdaacc9 100644 --- a/em-oop/src/BasicCheck3.java +++ b/em-oop/src/BasicCheck3.java @@ -1,6 +1,7 @@ public class BasicCheck3 { public static void main(String[] args) { + //1-3 Item[] items = new Item[3]; items[0] = new Item("ノート", 120, 50); items[1] = new Item("消しゴム", 80, 30); @@ -8,6 +9,11 @@ public class BasicCheck3 { for (int i = 0; i < 3; i++) { items[i].sell(5); + //2-2 + System.out.println(items[i].toString()); + //2-2 } + //1-3 } + } diff --git a/em-oop/src/Book.java b/em-oop/src/Book.java index a9e7c51..3b00414 100644 --- a/em-oop/src/Book.java +++ b/em-oop/src/Book.java @@ -1,15 +1,22 @@ public class Book { + //1-1 String title; String author; int price; - - public Book() { + //1-1 + + //2-1 + public Book() { + title = "タイトル未設定"; + author = "著者未設定"; + price = 0; } - - public Book(String title, String author, int price) { + + public Book(String title, String author, int price) { this.title = title; this.author = author; this.price = price; } + //2-1 } diff --git a/em-oop/src/DepartmentData.java b/em-oop/src/DepartmentData.java new file mode 100644 index 0000000..fef45f4 --- /dev/null +++ b/em-oop/src/DepartmentData.java @@ -0,0 +1,44 @@ + +public class DepartmentData extends BaseData { + //3-6 + private String idDepartment; + private String nmDepartment; + + //3-6 + public DepartmentData(String idDepartment, String nmDepartment) { + this.idDepartment = idDepartment; + this.nmDepartment = nmDepartment; + } + + @Override + public String toString() { + return getIdDepartment() + "\t" + getNmDepartment(); + } + + @Override + public String toCSV() { + return getIdDepartment() + "," + getNmDepartment(); + } + + @Override + public String getPrimaryKeyValue() { + return getIdDepartment(); + } + + public String getIdDepartment() { + return idDepartment; + } + + public void setIdDepartment(String idDepartment) { + this.idDepartment = idDepartment; + } + + public String getNmDepartment() { + return nmDepartment; + } + + public void setNmDepartment(String nmDepartment) { + this.nmDepartment = nmDepartment; + } + //3-6 +} diff --git a/em-oop/src/EmployeeData.java b/em-oop/src/EmployeeData.java index 6c8e3a5..056b564 100644 --- a/em-oop/src/EmployeeData.java +++ b/em-oop/src/EmployeeData.java @@ -1,40 +1,152 @@ -public class EmployeeData { - String idEmployee; - String nmEmployee; - String knEmployee; - String mailAddress; - String password; - String idDepartment; +public class EmployeeData extends BaseData { + //1-4 + private String IdEmployee, nmEmployee, knEmployee, mailAddress, password, idDepartment; + //1-4 + 2-4 + + //1-6 + // public EmployeeData(String idEmployee, String nmEmployee, String knEmployee, String mailAddress, String password, + // String idDepartment) { + // this.IdEmployee = idEmployee; + // this.nmEmployee = nmEmployee; + // this.knEmployee = knEmployee; + // this.mailAddress = mailAddress; + // this.password = password; + // this.idDepartment = idDepartment; + // } + //1-6 + + //1-5 + //2-4 + //2-6 + @Override + public String toString() { + // System.out.println(getIdEmployee() + "\t" + getNmEmployee() + "\t" + getKnEmployee() + "\t" + getMailAddress() + // + "\t" + getPassword() + "\t" + getIdDepartment()); + return (getIdEmployee() + "\t" + getNmEmployee() + "\t" + getKnEmployee() + "\t" + getMailAddress() + + "\t" + getPassword() + "\t" + getIdDepartment()); + } + //2-6 + //2-4 + //1-5 + + //3-4 + @Override + public String toCSV() { + return getIdEmployee() + "," + getNmEmployee() + "," + getKnEmployee() + "," + getMailAddress() + + "," + getPassword() + "," + getIdDepartment(); + } + + public String getPrimaryKeyValue() { + return IdEmployee; + } + //3-4 + + //1-7 + boolean isMatchId(String id) { + System.out.println(id + " を検索します"); + if (id.equals(IdEmployee)) { + System.out.println(true); + } else { + System.out.println(false); + } + return false; + } + //1-7 + + //2-5 + public EmployeeData() { + //2-7 + empCount++; + //2-7 + } public EmployeeData(String idEmployee, String nmEmployee, String knEmployee, String mailAddress, String password, String idDepartment) { - this.idEmployee = idEmployee; - this.nmEmployee = nmEmployee; + this.setIdEmployee(idEmployee); + this.setNmEmployee(nmEmployee); + this.setKnEmployee(knEmployee); + this.setMailAddress(mailAddress); + this.setPassword(password); + this.setIdDepartment(idDepartment); + //2-7 + empCount++; + //2-7 + } + //2-5 + + //2-7 + private static int empCount = 0; + + static int getEmpCount() { + return empCount; + + } + //2-7 + + //2-4 + public String getIdEmployee() { + return IdEmployee; + } + + public void setIdEmployee(String idEmployee) { + //2-9 + idEmployee = idEmployee.strip(); + if (idEmployee.length() == 0) { + System.out.println("社員IDが空のため設定できませんでした"); + return; + } else { + this.IdEmployee = idEmployee; + } + //2-9 + } + + public String getNmEmployee() { + return nmEmployee; + } + + public void setNmEmployee(String nmEmployee) { + //2-8 + nmEmployee = nmEmployee.strip(); + if (nmEmployee.length() == 0) { + System.out.println("社員名が空のため設定できませんでした"); + return; + } else { + this.nmEmployee = nmEmployee; + } + //2-8 + } + + public String getKnEmployee() { + return knEmployee; + } + + public void setKnEmployee(String knEmployee) { this.knEmployee = knEmployee; + } + + public String getMailAddress() { + return mailAddress; + } + + public void setMailAddress(String mailAddress) { this.mailAddress = mailAddress; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { this.password = password; + } + + public String getIdDepartment() { + return idDepartment; + } + + public void setIdDepartment(String idDepartment) { this.idDepartment = idDepartment; } - public void showInfo() { - System.out.println(this.idEmployee + "\t" + this.nmEmployee + "\t"+this.knEmployee + "\t" + this.mailAddress + "\t" +this.password + "\t"+this.idDepartment); -// System.out.println(this.nmEmployee); -// System.out.println(this.knEmployee); -// System.out.println(this.mailAddress); -// System.out.println(this.password); -// System.out.println(this.idDepartment); - - } - -// -// public EmployeeData(String idEmployee) { -// this.idEmployee = idEmployee; -// public EmployeeData(String nmEmployee) { -// this.idEmployee = idEmployee; -// this.nmEmployee = nmEmployee; -// this.knEmployee = knEmployee; -// this.mailAddress = mailAddress; -// this.password = password; -// this.idDepartment = idDepartment; -// } + //2-4 } diff --git a/em-oop/src/Item.java b/em-oop/src/Item.java index 339edc1..270b189 100644 --- a/em-oop/src/Item.java +++ b/em-oop/src/Item.java @@ -1,18 +1,51 @@ public class Item { - String name; - int price; - int stock; + //1-3 + private String name; + private int price; + private int stock; public Item(String name, int price, int stock) { this.name = name; this.price = price; this.stock = stock; } - - public void sell(int amount) { - this.stock = this.stock - amount; - System.out.println(name + price +"円 残り"+this.stock + "個"); + + void sell(int amount) { + // this.stock = this.stock - amount; + this.setStock(this.getStock() - amount); //2-2 + //System.out.println(name + " " + price + "円 残り" + stock + "個"); + } + //1-3 + + //2-2 + @Override + public String toString() { + return getName() + "" + getPrice() + "円(残り" + getStock() + "個)"; } + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getPrice() { + return price; + } + + public void setPrice(int price) { + this.price = price; + } + + public int getStock() { + return stock; + } + + public void setStock(int stock) { + this.stock = stock; + } + //2-2 } diff --git a/em-oop/src/Main.java b/em-oop/src/Main.java index 0de07c8..3d2fc78 100644 --- a/em-oop/src/Main.java +++ b/em-oop/src/Main.java @@ -1,17 +1,168 @@ +//import java.util.Scanner;//1-8 public class Main { public static void main(String[] args) { - EmployeeData[] employee = new EmployeeData[5]; + //1-8 + // Scanner scanner = new Scanner(System.in); + // //1-9 + // boolean end = false; + // while (!end) { + // //1-9 + // System.out.println("検索したい社員IDを入力してください(終了するには0を入力)"); + // String num = scanner.nextLine().strip(); + // boolean found = false; + //1-8 + //1-4 + // BaseData employee = new EmployeeData(); + // employee.setIdEmployee("10000"); + // employee.setNmEmployee("山田龍也"); + // employee.setKnEmployee("ヤマダタツヤ"); + // employee.setMailAddress("yamada@hoge.jp"); + // employee.setPassword("aaa"); + // employee.setIdDepartment("10"); + + // System.out.println(employee.getIdEmployee()); + // System.out.println(employee.getNmEmployee()); + // System.out.println(employee.getKnEmployee()); + // System.out.println(employee.getMailAddress()); + // System.out.println(employee.getPassword()); + // System.out.println(employee.getIdDepartment()); + //1-4 + + //3-4 + // System.out.println(employee.toCSV()); + // System.out.println(employee.getPrimaryKeyValue()); + //3-4 + + //2-5 + // EmployeeData emp1 = new EmployeeData("10000", "山田龍也", "ヤマダタツヤ", "yamada@hoge.jp", "aaa", "10"); + // EmployeeData emp2 = new EmployeeData("10001", "高橋準", "タカハシジュン", "Jtaka@hoge.jp", "bbb", "11"); + // EmployeeData emp3 = new EmployeeData("10002", "麻枝史明", "マエダフミアキ", "fmak@hoge.jp", "ccc", "12"); + // EmployeeData emp4 = new EmployeeData("10003", "丸戸章介", "マルトショウスケ", "marusyo@hoge.jp", "ddd", "13"); + // EmployeeData emp5 = new EmployeeData("10004", "三宅武", "ミヤケタケシ", "miya@hoge.jp", "eee", "14"); + //2-5 + + //1-6 + BaseData[] employee = new EmployeeData[5]; employee[0] = new EmployeeData("10000", "山田龍也", "ヤマダタツヤ", "yamada@hoge.jp", "aaa", "10"); - employee[1] = new EmployeeData("10001", "高橋準", "タカハシジュン", "jtaka@hoge.jp", "bbb", "10"); + employee[1] = new EmployeeData("10001", "高橋準", "タカハシジュン", "Jtaka@hoge.jp", "bbb", "10"); employee[2] = new EmployeeData("10002", "麻枝史明", "マエダフミアキ", "fmak@hoge.jp", "ccc", "11"); employee[3] = new EmployeeData("10003", "丸戸章介", "マルトショウスケ", "marusyo@hoge.jp", "ddd", "12"); employee[4] = new EmployeeData("10004", "三宅武", "ミヤケタケシ", "miya@hoge.jp", "eee", "13"); + //1-5 + //1-6 + //2-5 + // System.out.println(emp1); + // System.out.println(emp2); + // System.out.println(emp3); + // System.out.println(emp4); + // System.out.println(emp5); + // for (int i = 0; i < employee.length; i++) { + // System.out.println(employee[i]); + // } + //2-7 + // System.out.println("現在の社員データ件数:" + EmployeeData.getEmpCount() + "件"); + // for (int i = 0; i < 5; i++) { + // employee[i].showInfo(); + // } + //2-7 + //2-5 + //1-6 + //1-5 - for(int i = 0; i < 5; i++) { - employee[i].showInfo(); - - } - + //1-7 + //3-5 + // System.out.println(employee[2].getPrimaryKeyValue().equals("10002")); + // System.out.println(employee[2].getPrimaryKeyValue().equals("99999")); + //3-5 + //1-7 + + //1-8 + // for (int i = 0; i < employee.length; i++) { + // if (num.equals(employee[i].getIdEmployee())) { + // //2-6 + // System.out.println(employee[i]); + // //2-6 + //// employee[i].showInfo(); + // found = true; + // break; + // } else if (num.equals("0")) { + // System.out.println("システムを終了します"); + // return; + // } + // } + // if (!found) { + // System.out.println("該当する社員が見つかりませんでした"); + // } + //1-8 isMatchIdメソッドを使っていない + // } + + //3-6 + BaseData[] allData = new BaseData[11]; + allData[0] = employee[0]; + allData[1] = employee[1]; + allData[2] = employee[2]; + allData[3] = employee[3]; + allData[4] = employee[4]; + + DepartmentData dept = new DepartmentData("10", "役員"); + allData[5] = dept; + DepartmentData dept2 = new DepartmentData("11", "人事・総務部"); + allData[6] = dept2; + DepartmentData dept3 = new DepartmentData("12", "経理部"); + allData[7] = dept3; + DepartmentData dept4 = new DepartmentData("13", "システム開発事業部"); + allData[8] = dept4; + DepartmentData dept5 = new DepartmentData("14", "教育事業部"); + allData[9] = dept5; + DepartmentData dept6 = new DepartmentData("15", "営業企画部"); + allData[10] = dept6; + + for (int i = 0; i < 11; i++) { + System.out.println(allData[i]); + } + //3-6 + + //3-7 + int Cou = 0; + int Cou2 = 0; + for (int i = 0; i < 11; i++) { + if (allData[i] instanceof EmployeeData) { + Cou = Cou + 1; + } else if (allData[i] instanceof DepartmentData) { + Cou2 = Cou2 + 1; + } + } + System.out.println("社員データ:" + Cou + "件"); + System.out.println("部署データ:" + Cou2 + "件"); + //3-7 + + //3-8 + for (int i = 0; i < 11; i++) { + if (allData[i] instanceof EmployeeData) { + EmployeeData emp = (EmployeeData) allData[i]; + System.out.println(emp.getMailAddress()); + } + } + //3-8 + + //3-9 + for (int i = 0; i < 11; i++) { + if (allData[i] instanceof DepartmentData) { + DepartmentData bd = (DepartmentData) allData[i]; + if (bd.getNmDepartment().equals("システム開発事業部")) { + for (int j = 0; j < 11; j++) { + if (allData[j] instanceof EmployeeData) { + EmployeeData emp = (EmployeeData) allData[j]; + if (bd.getIdDepartment().equals(emp.getIdDepartment())) { + System.out.println(emp.getNmEmployee() + "\t" + emp.getMailAddress()); + } + } + + } + } + } + } + //3-9 } } diff --git a/em-oop/src/Student.java b/em-oop/src/Student.java index 60ab5f6..fb44c73 100644 --- a/em-oop/src/Student.java +++ b/em-oop/src/Student.java @@ -1,8 +1,27 @@ public class Student { + //1-2 int studentId; String name; void printProfile() { - System.out.println("学籍番号:" + this.studentId + " 名前:" + this.name); + System.out.println("学籍番号:" + this.studentId + " 名前:" + this.name); } + //1-2 + + //2-3 + public Student(int studentId, String name) { + this.studentId = studentId; + this.name = name; + } + + static int studentCount = 0; + { + studentCount++; + } + + static int getStudentCount() { + return studentCount; + + } + //2-3 } \ No newline at end of file