Files
java-cui-em-oop/em-oop/src/Sub.java
s-sakiyama c7b7a48681 検索、登録、更新、削除の機能を追加
メインシステムをMain.javaに移行
2026-09-24 15:49:32 +09:00

203 lines
6.5 KiB
Java
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import java.util.Scanner;
public class Sub {
public static void main(String[] args) {
System.out.println("会社名:" + EmployeeData.COMPANY_NAME);
BaseData employee = new EmployeeData("10000", "山田龍也", "ヤマダタツヤ",
"yamada@hoge.jp", "aaa", "10");
System.out.println(employee.toCSV());
System.out.println(employee.getPrimaryKeyValue());
System.out.println();
BaseData[] employees = new BaseData[5];
//setterがBaseData.javaにはないためコンストラクタで代入
// for (int i = 0; i < employees.length; i++) {
// employees[i] = new EmployeeData();
// }
//
// employees[0].setIdEmployee("10000");
// employees[0].setNmEmployee("山田龍也");
// employees[0].setKnEmployee("ヤマダタツヤ");
// employees[0].setMailAddress("yamada@hoge.jp");
// employees[0].setPassword("aaa");
// employees[0].setIdDepartment("10");
//
// employees[1].setIdEmployee("10001");
// employees[1].setNmEmployee("高橋準\t");
// 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("三宅武\t");
// employees[4].setKnEmployee("ミヤケタケシ");
// employees[4].setMailAddress("miya@hoge.jp");
// employees[4].setPassword("eee");
// employees[4].setIdDepartment("13");
employees[0] = new EmployeeData("10000", "山田龍也", "ヤマダタツヤ",
"yamada@hoge.jp", "aaa", "10");
employees[1] = new EmployeeData("10001", "高橋準", "タカハシジュン",
"jtaka@hoge.jp", "bbb", "10");
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");
for (BaseData e : employees) {
System.out.println(e);
}
System.out.println("現在の社員のデータ件数:" + EmployeeData.getEmpCount() + "件");
System.out.println();
//社員データ+部署データ
BaseData[] allData = new BaseData[11];
for (int i = 0; i < employees.length; i++) {
allData[i] = employees[i];
}
DepartmentData[] dept = new DepartmentData[6];
for (int i = 0; i < dept.length; i++) {
dept[i] = new DepartmentData();
}
dept[0].setIdDepartment("10");
dept[0].setNmDepartment("役員");
allData[5] = dept[0];
dept[1].setIdDepartment("11");
dept[1].setNmDepartment("人事・総務部");
allData[6] = dept[1];
dept[2].setIdDepartment("12");
dept[2].setNmDepartment("経理部");
allData[7] = dept[2];
dept[3].setIdDepartment("13");
dept[3].setNmDepartment("システム開発事業部");
allData[8] = dept[3];
dept[4].setIdDepartment("14");
dept[4].setNmDepartment("教育事業部");
allData[9] = dept[4];
dept[5].setIdDepartment("15");
dept[5].setNmDepartment("営業企画部");
allData[10] = dept[5];
int employeeCount = 0;
int deptCount = 0;
for (BaseData data : allData) {
System.out.println(data);
if (data instanceof EmployeeData) {
employeeCount++;
} else if (data instanceof DepartmentData) {
deptCount++;
}
}
System.out.println("社員データ:" + employeeCount + "件\n部署データ:" + deptCount + "件");
System.out.println();
System.out.println("メールアドレス表示");
for (BaseData data : allData) {
if (data instanceof EmployeeData) {
System.out.println(((EmployeeData) data).getMailAddress());
}
}
System.out.println();
//nullおよび前後の空白を取り除いた結果が空文字チェック
BaseData emp = new EmployeeData("10000", "デフォルト", "ヤマダタツヤ", "yamada@hoge.jp", "aaa", "10");
System.out.println(emp);
((EmployeeData) emp).setNmEmployee(null);
System.out.println(emp);
((EmployeeData) emp).setNmEmployee("   ");
System.out.println(emp);
System.out.println();
System.out.println("コンストラクタに全てから文字で");
BaseData emptyEmployee = new EmployeeData("", "", "", "", "", "");
System.out.println(emptyEmployee);
System.out.println();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("検索したい部署名を入力してください(終了する場合は0)");
System.out.print(">>>>");
String searchDeptNm = scanner.nextLine();
String searchDeptId = "";
if (endChack(searchDeptNm))
break;
for (BaseData data : allData) {
if (data instanceof DepartmentData) {
if (((DepartmentData) data).getNmDepartment().equals(searchDeptNm)) {
searchDeptId = ((DepartmentData) data).getIdDepartment();
}
}
}
if (searchDeptId.equals("")) {
System.out.println("該当する部署が見つかりませんでした");
continue;
}
for (BaseData data : allData) {
if (data instanceof EmployeeData) {
if (((EmployeeData) data).getIdDepartment().equals(searchDeptId)) {
System.out.println(
((EmployeeData) data).getNmEmployee() + "\t" + ((EmployeeData) data).getMailAddress());
}
}
}
System.out.println();
}
while (true) {
System.out.println("検索したい社員IDを入力してください(終了する場合は0)");
System.out.print(">>>>");
String findId = scanner.nextLine();
if (endChack(findId))
break;
boolean matchFlag = false;
for (BaseData e : employees) {
if (e.getPrimaryKeyValue().equals(findId)) {
System.out.println(e);
matchFlag = true;
break;
}
}
if (!matchFlag) {
System.out.println("該当する社員が見つかりませんでした");
}
System.out.println();
}
}
static boolean endChack(String input) {
if (input.equals("0")) {
System.out.println("システムを終了します");
return true;
}
return false;
}
}