13 Commits

Author SHA1 Message Date
m-shimizu
99506c4369 Day3_9段階目 2026-09-24 15:57:49 +09:00
m-shimizu
5a8c7eb2fd Day3_7段階目+8段階目 2026-09-24 15:17:33 +09:00
m-shimizu
a8dc3e82e6 Day3_6段階目 2026-09-24 14:37:36 +09:00
m-shimizu
491415d6ee Day3_5段階目 2026-09-24 12:58:42 +09:00
m-shimizu
a944d06928 Day3_4段階目 2026-09-24 11:00:51 +09:00
m-shimizu
3fd65f6437 Day2_9段階目 2026-09-24 10:10:55 +09:00
m-shimizu
64bd81c717 Day2_8段階目 2026-09-24 09:59:31 +09:00
m-shimizu
41bf9831a8 Day2_6段階目 2026-09-18 15:57:50 +09:00
m-shimizu
f73b4054b3 Day2_4段階目 2026-09-18 14:23:01 +09:00
m-shimizu
8a75a03511 Day1_9段階目 2026-09-18 14:03:59 +09:00
m-shimizu
5095e0fae1 Day1_8段階目 2026-09-18 13:17:47 +09:00
m-shimizu
6000722eeb Day1_7段階目 2026-09-18 12:32:41 +09:00
m-shimizu
d8d13385fe Day1_5段階目 2026-09-18 11:05:58 +09:00
4 changed files with 452 additions and 61 deletions

9
em-oop/src/BaseData.java Normal file
View File

@@ -0,0 +1,9 @@
//Day3_4段階目:BaseDataを作り、EmployeeDataに継承させよう
public abstract class BaseData {
public abstract String toString();
public abstract String toCSV();
public abstract String getPrimaryKeyValue();
}

View File

@@ -0,0 +1,59 @@
public class DepartmentData extends BaseData{
private String idDepartment;
private String nmDepartment;
//gettre・setter
//部署IDのgetter
public String getIdDepartment() {
return idDepartment;
}
//部署IDのsetter
public void setIdDepartment(String idDepartment) {
this.idDepartment = idDepartment;
}
//部署名のgetter
public String getNmDepartment() {
return nmDepartment;
}
//部署名のsetter
public void setNmDepartment(String nmDepartment) {
this.nmDepartment = nmDepartment;
}
//部署名を文字列として返す
@Override
public String toString() {
return this.getIdDepartment() + "\t" + this.getNmDepartment();
}
//CSV形式で返す
@Override
public String toCSV() {
return this.getIdDepartment() + "," + this.getNmDepartment();
}
//部署IDを返す
@Override
public String getPrimaryKeyValue() {
return this.getIdDepartment();
}
//部署名
// @Override
// public String toCSV() {
// return this.getIdDepartment() + "," + getNmDepartment();
// }
//部署ID
// @Override
// public String getPrimaryKeyValue() {
// return this.getIdDepartment();
// }
}

View File

@@ -1,23 +1,153 @@
public class EmployeeData {
String idEmployee;
String nmEmployee;
String knEmployee;
String mailAddress;
String password;
String idDepartment;
public class EmployeeData extends BaseData {
void showInfo() {
System.out.println(
this.idEmployee + "\t"
+ this.nmEmployee + "\t"
+ this.knEmployee + "\t"
+ this.mailAddress + "\t"
+ this.password + "\t"
+ this.idDepartment
);
private String idEmployee;
private String nmEmployee;
private String knEmployee;
private String mailAddress;
private String password;
private String idDepartment;
//社員データ件数
private static int empCount = 0;
//引数なしコンストラクタ
public EmployeeData() {
empCount++;
}
//6つの引数をもつコンストラクタ
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++;
}
// public static int getEmpCount() {
// return empCount;
// }
public String getIdEmployee() {
return idEmployee;
}
public void setIdEmployee(String idEmployee) {
//9段階目(空文字チェック、セッター経由になっているかを見直し)
if (idEmployee == null || idEmployee.trim().isEmpty()) {
System.out.println("社員IDが空のため設定できませんでした");
return;
}
this.idEmployee = idEmployee;
}
//社員名
public String getNmEmployee() {
return nmEmployee;
}
public void setNmEmployee(String nmEmployee) {
//8段階目(空文字や空白だけの値が渡された場合は代入しない)
if (nmEmployee == null || nmEmployee.trim().isEmpty()) {
System.out.println("社員名が空のため設定できませんでした");
return;
}
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;
}
//部署ID
public String getIdDepartment() {
return idDepartment;
}
public void setIdDepartment(String idDepartment) {
this.idDepartment = idDepartment;
}
//社員データ件数を取得
public static int getEmpCount() {
return empCount;
}
//社員IDが一致するか確認
public boolean isMatchID(String id) {
return this.idEmployee != null && this.idEmployee.equals(id);
}
//社員情報を文字列として返す
@Override
public String toString() {
return this.getIdEmployee() + "\t"
+ this.getNmEmployee() + "\t"
+ this.getKnEmployee() + "\t"
+ this.getMailAddress() + "\t"
+ this.getPassword() + "\t"
+ this.getIdDepartment();
}
//CSV形式で返す
@Override
public String toCSV() {
return this.getIdEmployee() + ","
+ this.getNmEmployee() + ","
+ this.getKnEmployee() + ","
+ this.getMailAddress() + ","
+ this.getPassword() + ","
+ this.getIdDepartment();
}
//社員IDを返す
@Override
public String getPrimaryKeyValue() {
return this.getIdEmployee();
}
}

View File

@@ -1,53 +1,250 @@
public class Main {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
EmployeeData[] Employees = new EmployeeData[5];
Employees[0] = new EmployeeData();
Employees[1] = new EmployeeData();
Employees[2] = new EmployeeData();
Employees[3] = new EmployeeData();
Employees[4] = new EmployeeData();
//Day3_5段階目:BaseData型で社員を作成
// BaseData employee = new EmployeeData(
// "10000",
// "山田龍也",
// "ヤマダタツヤ",
// "yamada@hoge.jp",
// "aaa",
// "10"
// );
Employees[0].idEmployee = "10000";
Employees[0].nmEmployee = "山田龍也";
Employees[0].knEmployee = "ヤマダタツヤ";
Employees[0].mailAddress = "yamada@hoge.jp";
Employees[0].password = "aaa";
Employees[0].idDepartment = "10";
// System.out.println(employee.toCSV());
// System.out.println(employee.getPrimaryKeyValue());
Employees[1].idEmployee = "10001";
Employees[1].nmEmployee = "高橋準";
Employees[1].knEmployee = "タカハシジュン";
Employees[1].mailAddress = "jtaka@hoge.jp";
Employees[1].password = "bbb";
Employees[1].idDepartment = "10";
//Day3_5段階目:BaseData型の配列を作成
BaseData[] Employees = new EmployeeData[5];
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[0] = new EmployeeData(
"10000",
"山田龍也",
"ヤマダタツヤ",
"yamada@hoge.jp",
"aaa",
"10"
);
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[1] = new EmployeeData(
"10001",
"高橋準",
"タカハシジュン",
"jtaka@hoge.jp",
"bbb",
"10"
);
Employees[4].idEmployee = "10004";
Employees[4].nmEmployee = "三宅武";
Employees[4].knEmployee = "ミヤケタケシ";
Employees[4].mailAddress = "miya@hoge.jp";
Employees[4].password = "eee";
Employees[4].idDepartment = "13";
Employees[2] = new EmployeeData(
"10002",
"麻枝史明",
"マエダフミアキ",
"fmak@hoge.jp",
"ccc",
"11"
);
Employees[3] = new EmployeeData(
"10003",
"丸戸章介",
"マルトショウスケ",
"marusyo@hoge.jp",
"ddd",
"12"
);
Employees[4] = new EmployeeData(
"10004",
"三宅武",
"ミヤケタケシ",
"miya@hoge.jp",
"eee",
"13"
);
//社員+部署をまとめる配列
BaseData[] allData = new BaseData[11];
//
for (int i = 0; i < Employees.length; i++) {
allData[i] = Employees[i];
}
//部署データ6件
DepartmentData dept1 = new DepartmentData();
dept1.setIdDepartment("10");
dept1.setNmDepartment("役員");
allData[5] = dept1;
DepartmentData dept2 = new DepartmentData();
dept2.setIdDepartment("11");
dept2.setNmDepartment("人事・総務部");
allData[6] = dept2;
DepartmentData dept3 = new DepartmentData();
dept3.setIdDepartment("12");
dept3.setNmDepartment("経理部");
allData[7] = dept3;
DepartmentData dept4 = new DepartmentData();
dept4.setIdDepartment("13");
dept4.setNmDepartment("システム開発事業部");
allData[8] = dept4;
DepartmentData dept5 = new DepartmentData();
dept5.setIdDepartment("14");
dept5.setNmDepartment("教育事業部");
allData[9] = dept5;
DepartmentData dept6 = new DepartmentData();
dept6.setIdDepartment("15");
dept6.setNmDepartment("営業企画部");
allData[10] = dept6;
//6段階目
//全データ表示
// for (int i = 0; i < allData.length; i++) {
// System.out.println(allData[i]);
// }
//7段階目:instanceofで件数を数える
// int employeeCount = 0;
// int departmentCount = 0;
//
// for(int i = 0; i < allData.length; i++) {
// if(allData[i] instanceof EmployeeData) {
// employeeCount++;
// }
//
// if(allData[i] instanceof DepartmentData) {
// departmentCount++;
// }
// }
//
// System.out.println("社員データ" + employeeCount + "件");
// System.out.println("部署データ" + departmentCount + "件");
//8段階目
//全社員のメールアドレスを表示
// for(int i = 0; i < allData.length; i++) {
// if(allData[i] instanceof EmployeeData) {
// EmployeeData employeeData = (EmployeeData) allData[i];
//
// System.out.println(employeeData.getMailAddress());
// }
// }
//部署名から社員を検索
String targetDepartmentId = null;
for(int i = 0; i < allData.length;i++) {
if(allData[i] instanceof DepartmentData) {
DepartmentData departmentData = (DepartmentData) allData[i];
if(departmentData.getNmDepartment().equals("システム開発事業部")) {
targetDepartmentId = departmentData.getIdDepartment();
}
}
}
for (int i = 0; i < allData.length; i++) {
if(allData[i] instanceof EmployeeData) {
EmployeeData employeeData = (EmployeeData) allData[i];
if(employeeData.getIdDepartment().equals(targetDepartmentId)) {
System.out.println(employeeData.getNmEmployee() + "\t" + employeeData.getMailAddress());
}
}
}
// Employees[0].setIdEmployee("10000");
// Employees[0].setNmEmployee("山田龍也");
// Employees[0].setKnEmployee("ヤマダタツヤ");
// Employees[0].setMailAddress("yamada@hoge.jp");
// Employees[0].setPassword("aaa");
// Employees[0].setIdDepartment("10");
// System.out.println("10000を検索します");
// System.out.println(Employees[0].isMatchID("10000"));
// Employees[1].setIdEmployee("10001");
// Employees[1].setNmEmployee("高橋準");
// Employees[1].setKnEmployee("タカハシジュン");
// Employees[1].setMailAddress("jtaka@hoge.jp");
// Employees[1].setPassword("bbb");
// Employees[1].setIdDepartment("10");
// Employees[2].setIdEmployee("10002");
// Employees[2].setNmEmployee("麻枝史明");
// Employees[2].setKnEmployee("マエダフミアキ");
// Employees[2].setMailAddress("fmak@hoge.jp");
// Employees[2].setPassword("ccc");
// Employees[2].setIdDepartment("11");
// Employees[3].setIdEmployee("10003");
// Employees[3].setNmEmployee("丸戸章介");
// Employees[3].setKnEmployee("マルトショウスケ");
// Employees[3].setMailAddress("marusyo@hoge.jp");
// Employees[3].setPassword("ddd");
// Employees[3].setIdDepartment("12");
// Employees[4].setIdEmployee("10004");
// Employees[4].setNmEmployee("三宅武");
// Employees[4].setKnEmployee("ミヤケタケシ");
// Employees[4].setMailAddress("miya@hoge.jp");
// Employees[4].setPassword("eee");
// Employees[4].setIdDepartment("13");
//5人分の社員情報を表示
// for (int i = 0; i < Employees.length; i++) {
// System.out.println(Employees[i]);
//
// }
//社員データの件数を表示
// System.out.println("現在の社員データ件数:" + EmployeeData.getEmpCount() + "件");
//社員ID検索機能
// Scanner scanner = new Scanner(System.in);
// while(true) {
// System.out.println("検索したい社員IDを入力してください(終了する場合は0)");
// String id = scanner.nextLine();
// if(id.equals("0")) {
// System.out.println("システムを終了します");
// break;
// }
// boolean found = false;
// for (int i = 0; i < Employees.length; i++) {
//
// if(Employees[i].getPrimaryKeyValue().equals(id)) {
// System.out.println(Employees[i]);
// found = true;
// break;
// }
// }
//
// if(found == false) {
// System.out.println("該当する社員が見つかりませんでした");
// }
// }
// Employees[0].showInfo();
//
// System.out.println(Employees.idEmployee);
// System.out.println(Employees.nmEmployee);
// System.out.println(Employees.knEmployee);
@@ -55,10 +252,6 @@ public class Main {
// System.out.println(Employees.password);
// System.out.println(Employees.idDepartment);
for (int i = 0; i < Employees.length; i++) {
Employees[i].showInfo();
}
}
}