diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..c771657 --- /dev/null +++ b/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..84c048a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/build/ diff --git a/.project b/.project new file mode 100644 index 0000000..fc1fa03 --- /dev/null +++ b/.project @@ -0,0 +1,23 @@ + + + em-oop + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.jdt.core.javanature + + diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..23fa13b --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,9 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 +org.eclipse.jdt.core.compiler.compliance=21 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000..c1a8d07 --- /dev/null +++ b/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,4 @@ + + + + diff --git a/CUI_20261014_ishikawa.java b/CUI_20261014_ishikawa.java deleted file mode 100644 index c863001..0000000 --- a/CUI_20261014_ishikawa.java +++ /dev/null @@ -1,58 +0,0 @@ - -public class CUI_20261014 { - - public static void main(String[] args) { - // TODO 自動生成されたメソッド・スタブ - EmployeeData[] employees = new EmployeeData[5]; - - employees[0] = new EmployeeData(); - employees[0].idEmployee = "10000"; - employees[0].nmEmployee = "山田龍也"; - employees[0].knEmployee = "ヤマダタツヤ"; - employees[0].mailAddress = "yamada@hoge.jp"; - employees[0].password = "aaa"; - employees[0].idDepartment = "10"; - - employees[1] = new EmployeeData(); - employees[1].idEmployee = "10001"; - employees[1].nmEmployee = "高橋準"; - employees[1].knEmployee = "タカハシジュン"; - employees[1].mailAddress = "jtaka@hoge.jp"; - employees[1].password = "bbb"; - employees[1].idDepartment = "10"; - - employees[2] = new EmployeeData(); - employees[2].idEmployee = "10002"; - employees[2].nmEmployee = "麻枝史明"; - employees[2].knEmployee = "マエダフミアキ"; - employees[2].mailAddress = "fmak@hoge.jp"; - employees[2].password = "ccc"; - employees[2].idDepartment = "11"; - - employees[3] = new EmployeeData(); - employees[3].idEmployee = "10003"; - employees[3].nmEmployee = "丸戸章介"; - employees[3].knEmployee = "マルトショウスケ"; - employees[3].mailAddress = "marusyo@hoge.jp"; - employees[3].password = "ddd"; - employees[3].idDepartment = "12"; - - employees[4] = new EmployeeData(); - employees[4].idEmployee = "10004"; - employees[4].nmEmployee = "三宅武"; - employees[4].knEmployee = "ミヤケタケシ"; - employees[4].mailAddress = "miya@hoge.jp"; - employees[4].password = "eee"; - employees[4].idDepartment = "13"; - - for(int i = 0; i < 5; i++) { - employees[i].showInfo(); - } - - System.out.println("10002 を検索します"); - for(int i = 0; i < 5; ) { - - } - } - -} diff --git a/EmployeeData2026_1014_ishikawa.java b/EmployeeData2026_1014_ishikawa.java deleted file mode 100644 index aad8742..0000000 --- a/EmployeeData2026_1014_ishikawa.java +++ /dev/null @@ -1,15 +0,0 @@ - -public class EmployeeData { - String idEmployee; - String nmEmployee; - String knEmployee; - String mailAddress; - String password; - String idDepartment; - - - public void showInfo() { - System.out.println(this.idEmployee + "\t" + this.nmEmployee + "\t" + this.knEmployee + "\t" + - this.mailAddress + "\t" + this.password + "\t" + this.idDepartment); - } -} diff --git a/src/main/java/BaseData.java b/src/main/java/BaseData.java new file mode 100644 index 0000000..55e1118 --- /dev/null +++ b/src/main/java/BaseData.java @@ -0,0 +1,7 @@ + +public abstract class BaseData { + public abstract String toString(); + public abstract String toCSV(); + public abstract String getPrimaryKeyValue(); + +} diff --git a/src/main/java/CUI_20261014.java b/src/main/java/CUI_20261014.java index c863001..ccdd528 100644 --- a/src/main/java/CUI_20261014.java +++ b/src/main/java/CUI_20261014.java @@ -1,58 +1,133 @@ +import java.util.Scanner; public class CUI_20261014 { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ - EmployeeData[] employees = new EmployeeData[5]; + BaseData[] employees = new BaseData[5]; - employees[0] = new EmployeeData(); - employees[0].idEmployee = "10000"; - employees[0].nmEmployee = "山田龍也"; - employees[0].knEmployee = "ヤマダタツヤ"; - employees[0].mailAddress = "yamada@hoge.jp"; - employees[0].password = "aaa"; - employees[0].idDepartment = "10"; + employees[0] = new EmployeeData("10000", "山田龍也", "ヤマダタツヤ", + "yamada@hoge.jp", "aaa", "10"); employees[1] = new EmployeeData(); - employees[1].idEmployee = "10001"; - employees[1].nmEmployee = "高橋準"; - employees[1].knEmployee = "タカハシジュン"; - employees[1].mailAddress = "jtaka@hoge.jp"; - employees[1].password = "bbb"; - employees[1].idDepartment = "10"; + ((EmployeeData)employees[1]).setIdEmployee("10001"); + ((EmployeeData)employees[1]).setNmEmployee("高橋準"); + ((EmployeeData)employees[1]).setKnEmployee("タカハシジュン"); + ((EmployeeData)employees[1]).setMailAddress("jtaka@hoge.jp"); + ((EmployeeData)employees[1]).setPassword("bbb"); + ((EmployeeData)employees[1]).setIdDepartment("10"); employees[2] = new EmployeeData(); - employees[2].idEmployee = "10002"; - employees[2].nmEmployee = "麻枝史明"; - employees[2].knEmployee = "マエダフミアキ"; - employees[2].mailAddress = "fmak@hoge.jp"; - employees[2].password = "ccc"; - employees[2].idDepartment = "11"; + ((EmployeeData)employees[2]).setIdEmployee("10002"); + ((EmployeeData)employees[2]).setNmEmployee("麻枝史明"); + ((EmployeeData)employees[2]).setKnEmployee("マエダフミアキ"); + ((EmployeeData)employees[2]).setMailAddress("fmak@hoge.jp"); + ((EmployeeData)employees[2]).setPassword("ccc"); + ((EmployeeData)employees[2]).setIdDepartment("11"); employees[3] = new EmployeeData(); - employees[3].idEmployee = "10003"; - employees[3].nmEmployee = "丸戸章介"; - employees[3].knEmployee = "マルトショウスケ"; - employees[3].mailAddress = "marusyo@hoge.jp"; - employees[3].password = "ddd"; - employees[3].idDepartment = "12"; + ((EmployeeData)employees[3]).setIdEmployee("10003"); + ((EmployeeData)employees[3]).setNmEmployee("丸戸章介"); + ((EmployeeData)employees[3]).setKnEmployee("マルトショウスケ"); + ((EmployeeData)employees[3]).setMailAddress("marusyo@hoge.jp"); + ((EmployeeData)employees[3]).setPassword("ddd"); + ((EmployeeData)employees[3]).setIdDepartment("12"); employees[4] = new EmployeeData(); - employees[4].idEmployee = "10004"; - employees[4].nmEmployee = "三宅武"; - employees[4].knEmployee = "ミヤケタケシ"; - employees[4].mailAddress = "miya@hoge.jp"; - employees[4].password = "eee"; - employees[4].idDepartment = "13"; + ((EmployeeData)employees[4]).setIdEmployee("10004"); + ((EmployeeData)employees[4]).setNmEmployee("三宅武"); + ((EmployeeData)employees[4]).setKnEmployee("ミヤケタケシ"); + ((EmployeeData)employees[4]).setMailAddress("miya@hoge.jp"); + ((EmployeeData)employees[4]).setPassword("eee"); + ((EmployeeData)employees[4]).setIdDepartment("13"); for(int i = 0; i < 5; i++) { - employees[i].showInfo(); + System.out.println(employees[i]); } + System.out.println("現在の社員データ件数:" + EmployeeData.getEmpCount() + "件"); + System.out.println(); + + System.out.println(employees[0].toCSV()); + System.out.println(employees[0].getPrimaryKeyValue()); + + BaseData[] allData = new BaseData[11]; + + for(int i = 0; i <= 4; i++) { + allData[i] = employees[i]; + } + + DepartmentData dept = new DepartmentData(); + dept.setIdDepartment("10"); + dept.setNmDepartment("役員"); + allData[5] = dept; + + dept.setIdDepartment("11"); + dept.setNmDepartment("人事・総務部"); + allData[6] = dept; + + dept.setIdDepartment("12"); + dept.setNmDepartment("経理部"); + allData[7] = dept; + + dept.setIdDepartment("13"); + dept.setNmDepartment("システム開発事業部"); + allData[8] = dept; + + dept.setIdDepartment("14"); + dept.setNmDepartment("教育事業部"); + allData[9] = dept; + + dept.setIdDepartment("15"); + dept.setNmDepartment("営業企画部"); + allData[10] = dept; + + for(int i = 0; i <= 10; i++) { + System.out.println(allData[i]); + } + + //IDが10002を探す System.out.println("10002 を検索します"); - for(int i = 0; i < 5; ) { + boolean b1 = false; //一致してるかを判定させる + for(int i = 0; i < 5; i++) { //employees[0-4]まで繰り返す + if(employees[i].getPrimaryKeyValue().equals("10002")) { //10002と一致するのがあれば + b1 = true; //b1をtrueにして + break; //繰り返しを抜ける + } + } + System.out.println(b1); //trueかfalseかを出力 + + //IDが99999を探す + System.out.println("99999 を検索します"); + boolean b2 = false; + for(int i = 0; i < 5; i++) { + if(employees[i].getPrimaryKeyValue().equals("99999")) { + b2 = true; + break; + } + } + System.out.println(b2); + + while(true) { //繰り返す + System.out.println("検索したい社員IDを入力してください(終了する場合は0)"); + Scanner sc = new Scanner(System.in); //キーボード入力受け取る + String str = sc.nextLine(); //入力されたものをstrにする + if(str.equals("0")) { //0と入力されたら + System.out.println("システムを終了します"); //終わる + break; //ループ終了 + } + boolean b3 = false; //一致してるかを判定させる + for(int i = 0; i < 5; i++) { //employees[0-4]まで繰り返す + if(employees[i].getPrimaryKeyValue().equals(str)) { //strと一致していたら + System.out.println(employees[i].toString()); //toStoringメソッドを呼び出して出力 + b3 = true; //b3をtrueにして + break; //繰り返しを抜ける + } + } + if(!b3) { + System.out.println("該当する社員が見つかりませんでした"); } } - + } } diff --git a/src/main/java/DepartmentData.java b/src/main/java/DepartmentData.java new file mode 100644 index 0000000..e8f42c5 --- /dev/null +++ b/src/main/java/DepartmentData.java @@ -0,0 +1,31 @@ + +public class DepartmentData extends BaseData{ + private String idDepartment; + private String nmDepartment; + + 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; + } + + @Override + public String toString() { + return this.getIdDepartment() + "\t" + this.getNmDepartment(); + } + @Override + public String toCSV() { + return this.getIdDepartment() + "," + this.getNmDepartment(); + } + @Override + public String getPrimaryKeyValue() { + return this.getIdDepartment(); + } +} diff --git a/src/main/java/EmployeeData.java b/src/main/java/EmployeeData.java index aad8742..a9647e9 100644 --- a/src/main/java/EmployeeData.java +++ b/src/main/java/EmployeeData.java @@ -1,15 +1,112 @@ -public class EmployeeData { - String idEmployee; - String nmEmployee; - String knEmployee; - String mailAddress; - String password; - String idDepartment; +public class EmployeeData extends BaseData{ + private String idEmployee; + private String nmEmployee; + private String knEmployee; + private String mailAddress; + private String password; + private String idDepartment; - - public void showInfo() { - System.out.println(this.idEmployee + "\t" + this.nmEmployee + "\t" + this.knEmployee + "\t" + - this.mailAddress + "\t" + this.password + "\t" + this.idDepartment); + //ゲッターとセッター + public String getIdEmployee() { + return idEmployee; } + + public void setIdEmployee(String idEmployee) { + if(idEmployee == null || idEmployee.strip().isEmpty()) { + System.out.println("社員IDが空のため設定できませんでした"); + }else { + this.idEmployee = idEmployee; + } + } + + public String getNmEmployee() { + return nmEmployee; + } + + public void setNmEmployee(String nmEmployee) { + if(nmEmployee == null || nmEmployee.strip().isEmpty()) { + System.out.println("社員名が空のため設定できませんでした"); + }else { + this.nmEmployee = nmEmployee; + } + } + + 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; + } + + private static int empCount = 0; + //引数なしコンストラクタ + public EmployeeData() { + empCount++; + } + + //引数をもつコンストラクタ + public EmployeeData(String idEmployee, String nmEmployee, + String knEmployee, String mailAddress, + String password, String idDepartment) { + this.setIdEmployee(idEmployee); + this.setNmEmployee(nmEmployee); + this.setKnEmployee(knEmployee); + this.setMailAddress(mailAddress); + this.setPassword(password); + this.setIdDepartment(idDepartment); + empCount++; + } + + //メソッド + @Override + public String toString() { + return(this.getIdEmployee() + "\t" + this.getNmEmployee() + "\t" + this.getKnEmployee() + "\t" + + this.getMailAddress() + "\t" + this.getPassword() + "\t" + this.getIdDepartment()); + } + + public boolean isMatchId(String id) { + return this.idEmployee.equals(id); + } + + static int getEmpCount() { + return empCount; + } + + @Override + public String toCSV() { + return (this.getIdEmployee() + "," + this.getNmEmployee() + "," + this.getKnEmployee() + "," + + this.getMailAddress() + "," + this.getPassword() + "," + this.getIdDepartment()); + } + + public String getPrimaryKeyValue() { + return this.idEmployee; + } + + }