5 Commits

Author SHA1 Message Date
8ecb68ed34 追加課題(登録処理まで完了) 2026-10-20 16:49:38 +09:00
96dcc745d8 10/20_9段階完了 2026-10-20 14:38:13 +09:00
82628fc7f5 10/15作業分 2026-10-15 16:30:26 +09:00
4b2cb5a18b 修正 2026-10-14 16:46:15 +09:00
2b4e19fae2 10/14 開発課題 2026-10-14 16:37:20 +09:00
65 changed files with 1760 additions and 409 deletions

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21"/>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="output" path="build/classes"/>
</classpath>

2
.gitignore vendored
View File

@@ -1 +1 @@
/build/ 実行例(追加問題含め)/em_oop.jar

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<installed facet="java" version="21"/>
</faceted-project>

27
BasicCheck1.java Normal file
View File

@@ -0,0 +1,27 @@
package misson1014;
public class BasicCheck1 {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
//コンストラクタ
Book book1 = new Book();
//book1
System.out.println(book1.title);
System.out.println(book1.author);
System.out.println(book1.price);
//コンストラクタ
Book book2 = new Book(
"銀河鉄道の夜",
"宮沢賢治",
500);
//book2
System.out.println(book2.title);
System.out.println(book2.author);
System.out.println(book2.price);
}
}

View File

@@ -1,19 +1,23 @@
package misson1014;
public class BasicCheck2 { public class BasicCheck2 {
public static void main(String[] args) { public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ // TODO 自動生成されたメソッド・スタブ
Student student1 = new Student(1, "鈴木一郎"); Student student1 = new Student(1, "鈴木一郎");
Student student2 = new Student(2, "田中花子"); Student student2 = new Student(2, "田中花子");
Student student3 = new Student(3, "佐藤次郎"); Student student3 = new Student(3, "佐藤次郎");
// 学生情報表示
student1.printProfile(); student1.printProfile();
student2.printProfile(); student2.printProfile();
student3.printProfile(); student3.printProfile();
System.out.println("現在の生徒数: " + student1.getStudentCount() + "人"); // 現在の学生数表示
System.out.println(
"現在の生徒数:"
+ Student.getStudentCount()
+ "人");
} }
} }

View File

@@ -1,36 +1,37 @@
package misson1014;
public class BasicCheck3 { public class BasicCheck3 {
public static void main(String[] args) { public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ // TODO 自動生成されたメソッド・スタブ
// Item型の配列を作成
Item[] items = new Item[3]; Item[] items = new Item[3];
//インスタンス生成
items[0] = new Item(); items[0] = new Item();
items[1] = new Item();
items[2] = new Item();
items[0].setName("ノート"); items[0].setName("ノート");
items[0].setPrice(120); items[0].setPrice(120);
items[0].setStock(50); items[0].setStock(50);
items[1] = new Item();
items[1].setName("消しゴム"); items[1].setName("消しゴム");
items[1].setPrice(80); items[1].setPrice(80);
items[1].setStock(30); items[1].setStock(30);
items[2] = new Item();
items[2].setName("鉛筆"); items[2].setName("鉛筆");
items[2].setPrice(60); items[2].setPrice(60);
items[2].setStock(100); items[2].setStock(100);
//販売
for (int i = 0; i < items.length; i++) { for (int i = 0; i < items.length; i++) {
items[i].sell(5); items[i].sell(5);
} }
//商品情報表示
for (int i = 0; i < items.length; i++) { for (int i = 0; i < items.length; i++) {
System.out.println(items[i]); System.out.println(items[i]);
} }
} }
} }

28
Book.java Normal file
View File

@@ -0,0 +1,28 @@
package misson1014;
public class Book {
// タイトル
String title;
// 著者
String author;
// 価格
int price;
//コンストラクタ
public Book() {
this.title = "タイトル未設定";
this.author = "著者未設定";
this.price = 0;
}
//コンストラクタ
public Book(String title, String author, int price) {
//フィールド代入
this.title = title;
this.author = author;
this.price = price;
}
}

6
DepartmentData.csv Normal file
View File

@@ -0,0 +1,6 @@
10,役員
11,人事・総務部
12,経理部
13,システム開発事業部
14,教育事業部
15,営業企画部
1 10 役員
2 11 人事・総務部
3 12 経理部
4 13 システム開発事業部
5 14 教育事業部
6 15 営業企画部

11
EmployeeData.csv Normal file
View File

@@ -0,0 +1,11 @@
10000,山田龍也,ヤマダタツヤ,yamada@hoge.jp,aaa,10
10001,高橋準,タカハシジュン,jtaka@hoge.jp,bbb,10
10002,麻枝史明,マエダフミアキ,fmak@hoge.jp,ccc,11
10003,丸戸章介,マルトショウスケ,marusyo@hoge.jp,ddd,12
10004,三宅武,ミヤケタケシ,miya@hoge.jp,eee,13
10005,丸井悠,マルイハルカ,haru@hoge.jp,fff,13
10006,涼元香織,スズモトカオリ,suzumoto@hoge.jp,ggg,13
10007,葉山稔,ハヤマミノル,mhayama@hoge.jp,hhh,14
10008,川上朱里,カワカミアカリ,kawakami@hoge.jp,iii,14
10009,杉井肇,スギイハジメ,sugi@hoge.jp,jjj,15
12345,石原,イシハラ,tesr,test,10
1 10000 山田龍也 ヤマダタツヤ yamada@hoge.jp aaa 10
2 10001 高橋準 タカハシジュン jtaka@hoge.jp bbb 10
3 10002 麻枝史明 マエダフミアキ fmak@hoge.jp ccc 11
4 10003 丸戸章介 マルトショウスケ marusyo@hoge.jp ddd 12
5 10004 三宅武 ミヤケタケシ miya@hoge.jp eee 13
6 10005 丸井悠 マルイハルカ haru@hoge.jp fff 13
7 10006 涼元香織 スズモトカオリ suzumoto@hoge.jp ggg 13
8 10007 葉山稔 ハヤマミノル mhayama@hoge.jp hhh 14
9 10008 川上朱里 カワカミアカリ kawakami@hoge.jp iii 14
10 10009 杉井肇 スギイハジメ sugi@hoge.jp jjj 15
11 12345 石原 イシハラ tesr test 10

118
EmployeeData.java Normal file
View File

@@ -0,0 +1,118 @@
package misson1014;
public class EmployeeData {
//社員ID
private String idEmployee;
//社員名
private String nmEmployee;
//社員名カナ
private String knEmployee;
//メールアドレス
private String mailAddress;
//パスワード
private String password;
//部署ID
private String 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++;
}
//ゲッター
public String getIdEmployee() {
return idEmployee;
}
public String getNmEmployee() {
return nmEmployee;
}
public String getKnEmployee() {
return knEmployee;
}
public String getMailAddress() {
return mailAddress;
}
public String getPassword() {
return password;
}
public String getIdDepartment() {
return idDepartment;
}
//セッター
public void setIdEmployee(String idEmployee) {
//nullチェック
if (idEmployee == null) {
System.out.println("社員IDが空のため設定できませんでした");
return;
}
//空文字チェック
if (idEmployee.trim().isEmpty()) {
System.out.println( "社員IDが空のため設定できませんでした");
return;
}
this.idEmployee = idEmployee;
}
public void setNmEmployee(String nmEmployee) {
//nullチェック
if (nmEmployee == null) {
System.out.println("社員名が空のため設定できませんでした");
return;
}
//空文字チェック
if (nmEmployee.trim().isEmpty()) {
System.out.println("社員名が空のため設定できませんでした");
return;
}
this.nmEmployee = nmEmployee;
}
public void setKnEmployee(String knEmployee) {
this.knEmployee = knEmployee;
}
public void setMailAddress(String mailAddress) {
this.mailAddress = mailAddress;
}
public void setPassword(String password) {
this.password = password;
}
public void setIdDepartment(String idDepartment) {
this.idDepartment = idDepartment;
}
//toString
@Override
public String toString() {
return getIdEmployee() + "\t"
+ getNmEmployee() + "\t"
+ getKnEmployee() + "\t"
+ getMailAddress() + "\t"
+ getPassword() + "\t"
+ getIdDepartment();
}
//ID一致判定
public boolean isMatchId(String id) {
return getIdEmployee().equals(id);
}
//件数取得
public static int getEmpCount() {
return empCount;
}
}

52
Item.java Normal file
View File

@@ -0,0 +1,52 @@
package misson1014;
public class Item {
private String name;
private int price;
private int stock;
//商品
public void sell(int amount) {
//在庫減らし
this.setStock(this.getStock() - amount);
}
//商品名ゲッター
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;
}
@Override
public String toString() {
return getName()
+ " "
+ getPrice()
+ "円 (残り"
+ getStock()
+ "個)";
}
}

80
Main.java Normal file
View File

@@ -0,0 +1,80 @@
package misson1014;
import java.util.Scanner;
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();
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("高橋準");
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");
Scanner scanner = new Scanner(System.in);
//0が入力されるまでループ
while (true) {
//ID入力
System.out.println("検索したい社員IDを入力してください(終了する場合は0)");
String search = scanner.nextLine();
if (search.equals("0")) { System.out.println("システムを終了します");
break;
}
//見つかったかどうか
boolean found = false;
//検索処理
for (int i = 0; i < employees.length; i++) {
if (employees[i].isMatchId(search)) {
System.out.println(employees[i]);
found = true;
break;
}
}
// 見つからなかった場合
if (!found) {System.out.println("該当する社員が見つかりませんでした");
}
}
scanner.close();
}
}

91
Main1.java Normal file
View File

@@ -0,0 +1,91 @@
package misson1014;
public class Main1 {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
//8段階目まで
/*
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();
employees[0].setIdEmployee("10000");
8段階用
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("高橋準");
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");
for (int i = 0; i < employees.length; i++) {
System.out.println(employees[i]);
}
System.out.println(
"現在の社員データ件数:"
+ EmployeeData.getEmpCount()
+ "件");
*/
//ここから9段階↓
EmployeeData employee1 =
new EmployeeData(
"10000",
"",
"ヤマダタツヤ",
"yamada@hoge.jp",
"aaa",
"10"
);
EmployeeData employee2 =
new EmployeeData(
"",
"山田龍也",
"ヤマダタツヤ",
"yamada@hoge.jp",
"aaa",
"10"
);
}
}

31
Student.java Normal file
View File

@@ -0,0 +1,31 @@
package misson1014;
public class Student {
int studentId;
String name;
//staticフィールド
static int studentCount = 0;
//コンストラクタ
public Student(int studentId, String name) {
//フィールド代入
this.studentId = studentId;
this.name = name;
studentCount++;
}
//学生情報
void printProfile() {
System.out.println(
"学籍番号:" + this.studentId
+ " 名前:" + this.name);
}
//現在の学生数用staticメソッド
public static int getStudentCount() {
return studentCount;
}
}

View File

@@ -1,9 +0,0 @@
public abstract class BaseData{
public abstract String toString();
public abstract String toCSV();
public abstract String getPrimaryKeyValue();
}

10
misson1014/.classpath Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<projectDescription> <projectDescription>
<name>em-oop</name> <name>misson1014</name>
<comment></comment> <comment></comment>
<projects> <projects>
</projects> </projects>
@@ -10,14 +10,8 @@
<arguments> <arguments>
</arguments> </arguments>
</buildCommand> </buildCommand>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec> </buildSpec>
<natures> <natures>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature> <nature>org.eclipse.jdt.core.javanature</nature>
</natures> </natures>
</projectDescription> </projectDescription>

View File

@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@@ -1,9 +1,11 @@
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled 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.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.compiler.source=21

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,10 @@
package misson1014;
public abstract class BaseData {
public abstract String toString();
public abstract String toCSV();
public abstract String getPrimaryKeyValue();
}

View File

@@ -0,0 +1,27 @@
package misson1014;
public class BasicCheck1 {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
//コンストラクタ
Book book1 = new Book();
//book1
System.out.println(book1.title);
System.out.println(book1.author);
System.out.println(book1.price);
//コンストラクタ
Book book2 = new Book(
"銀河鉄道の夜",
"宮沢賢治",
500);
//book2
System.out.println(book2.title);
System.out.println(book2.author);
System.out.println(book2.price);
}
}

View File

@@ -0,0 +1,23 @@
package misson1014;
public class BasicCheck2 {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
Student student1 = new Student(1, "鈴木一郎");
Student student2 = new Student(2, "田中花子");
Student student3 = new Student(3, "佐藤次郎");
// 学生情報表示
student1.printProfile();
student2.printProfile();
student3.printProfile();
// 現在の学生数表示
System.out.println(
"現在の生徒数:"
+ Student.getStudentCount()
+ "人");
}
}

View File

@@ -0,0 +1,37 @@
package misson1014;
public class BasicCheck3 {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
// Item型の配列を作成
Item[] items = new Item[3];
//インスタンス生成
items[0] = new Item();
items[1] = new Item();
items[2] = new Item();
items[0].setName("ノート");
items[0].setPrice(120);
items[0].setStock(50);
items[1].setName("消しゴム");
items[1].setPrice(80);
items[1].setStock(30);
items[2].setName("鉛筆");
items[2].setPrice(60);
items[2].setStock(100);
//販売
for (int i = 0; i < items.length; i++) {
items[i].sell(5);
}
//商品情報表示
for (int i = 0; i < items.length; i++) {
System.out.println(items[i]);
}
}
}

View File

@@ -0,0 +1,28 @@
package misson1014;
public class Book {
// タイトル
String title;
// 著者
String author;
// 価格
int price;
//コンストラクタ
public Book() {
this.title = "タイトル未設定";
this.author = "著者未設定";
this.price = 0;
}
//コンストラクタ
public Book(String title, String author, int price) {
//フィールド代入
this.title = title;
this.author = author;
this.price = price;
}
}

View File

@@ -0,0 +1,24 @@
package misson1014;
public class Circle extends Shape {
private double radius;
public Circle(double radius) {
super("円");
this.radius = radius;
}
@Override
public double area() {
return Math.PI * this.radius * this.radius;
}
@Override
public void showInfo() {
super.showInfo();
System.out.println("(半径:" + this.radius + ")");
}
}

View File

@@ -0,0 +1,11 @@
package misson1014;
public class Day3Check1 {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
Circle circle = new Circle(2);
circle.showInfo();
}
}

View File

@@ -0,0 +1,38 @@
package misson1014;
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 getIdDepartment() + "\t" + getNmDepartment();
}
@Override
public String toCSV() {
return getIdDepartment() + "," + getNmDepartment();
}
@Override
public String getPrimaryKeyValue() {
return getIdDepartment();
}
}

View File

@@ -0,0 +1,147 @@
package misson1014;
public class EmployeeData extends BaseData {
//社員ID
private String idEmployee;
//社員名
private String nmEmployee;
//社員名カナ
private String knEmployee;
//メールアドレス
private String mailAddress;
//パスワード
private String password;
//部署ID
private String 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++;
}
//ゲッター
public String getIdEmployee() {
return idEmployee;
}
public String getNmEmployee() {
return nmEmployee;
}
public String getKnEmployee() {
return knEmployee;
}
public String getMailAddress() {
return mailAddress;
}
public String getPassword() {
return password;
}
public String getIdDepartment() {
return idDepartment;
}
//セッター
public void setIdEmployee(String idEmployee) {
if (idEmployee == null) {
System.out.println("社員IDが空のため設定できませんでした");
return;
}
if (idEmployee.trim().isEmpty()) {
System.out.println("社員IDが空のため設定できませんでした");
return;
}
this.idEmployee = idEmployee;
}
public void setNmEmployee(String nmEmployee) {
if (nmEmployee == null) {
System.out.println("社員名が空のため設定できませんでした");
return;
}
if (nmEmployee.trim().isEmpty()) {
System.out.println("社員名が空のため設定できませんでした");
return;
}
this.nmEmployee = nmEmployee;
}
public void setKnEmployee(String knEmployee) {
this.knEmployee = knEmployee;
}
public void setMailAddress(String mailAddress) {
this.mailAddress = mailAddress;
}
public void setPassword(String password) {
this.password = password;
}
public void setIdDepartment(String idDepartment) {
this.idDepartment = idDepartment;
}
//toString
@Override
public String toString() {
return getIdEmployee() + "\t"
+ getNmEmployee() + "\t"
+ getKnEmployee() + "\t"
+ getMailAddress() + "\t"
+ getPassword() + "\t"
+ getIdDepartment();
}
//CSV形式へ変換
@Override
public String toCSV() {
return getIdEmployee() + ","
+ getNmEmployee() + ","
+ getKnEmployee() + ","
+ getMailAddress() + ","
+ getPassword() + ","
+ getIdDepartment();
}
//キー取得
@Override
public String getPrimaryKeyValue() {
return getIdEmployee();
}
//ID一致判定
public boolean isMatchId(String id) {
return getIdEmployee().equals(id);
}
//件数取得
public static int getEmpCount() {
return empCount;
}
}

View File

@@ -0,0 +1,52 @@
package misson1014;
public class Item {
private String name;
private int price;
private int stock;
//商品
public void sell(int amount) {
//在庫減らし
this.setStock(this.getStock() - amount);
}
//商品名ゲッター
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;
}
@Override
public String toString() {
return getName()
+ " "
+ getPrice()
+ "円 (残り"
+ getStock()
+ "個)";
}
}

View File

@@ -0,0 +1,241 @@
package misson1014;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
//社員データ格納用配列作成
//EmployeeDataをBaseDataとして管理する
//(ポリモーフィズム)
BaseData[] employees = new BaseData[5];
//社員データ用インスタンス
employees[0] = new EmployeeData();
employees[1] = new EmployeeData();
employees[2] = new EmployeeData();
employees[3] = new EmployeeData();
employees[4] = new EmployeeData();
employees[0] = new EmployeeData();
employees[1] = new EmployeeData();
employees[2] = new EmployeeData();
employees[3] = new EmployeeData();
employees[4] = new EmployeeData();
//社員情報設定
//BaseData型なのでEmployeeDataへ
//キャストしてセッターを利用する
((EmployeeData) employees[0]).setIdEmployee("10000");
((EmployeeData) employees[0]).setNmEmployee("山田龍也");
((EmployeeData) employees[0]).setKnEmployee("ヤマダタツヤ");
((EmployeeData) employees[0]).setMailAddress("yamada@hoge.jp");
((EmployeeData) employees[0]).setPassword("aaa");
((EmployeeData) employees[0]).setIdDepartment("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");
((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");
((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");
((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");
//6段階目
//EmployeeDataとDepartmentDataを同じBaseData配列で管理する
//全データ格納用
BaseData[] allData = new BaseData[11];
//社員データをallDataへ格納
for (int i = 0; i < employees.length; i++) {
allData[i] = employees[i];
}
//部署データ作成
//先にDepartmentData型で生成
//値を設定後にallDataへ格納する
DepartmentData dept;
dept = new DepartmentData();
dept.setIdDepartment("10");
dept.setNmDepartment("役員");
allData[5] = dept;
dept = new DepartmentData();
dept.setIdDepartment("11");
dept.setNmDepartment("人事・総務部");
allData[6] = dept;
dept = new DepartmentData();
dept.setIdDepartment("12");
dept.setNmDepartment("経理部");
allData[7] = dept;
dept = new DepartmentData();
dept.setIdDepartment("13");
dept.setNmDepartment("システム開発事業部");
allData[8] = dept;
dept = new DepartmentData();
dept.setIdDepartment("14");
dept.setNmDepartment("教育事業部");
allData[9] = dept;
dept = new DepartmentData();
dept.setIdDepartment("15");
dept.setNmDepartment("営業企画部");
allData[10] = dept;
//BaseData配列を全件表示
//EmployeeDataとDepartmentDataでオーバーライドされたtoString()が実行
for (int i = 0; i < allData.length; i++) {
System.out.println(allData[i]);
}
//7段階目
//instanceofを使って型を判定
//EmployeeData件数とDepartmentData件数を集計
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段階目
//EmployeeDataへキャストしてメールアドレスを取得する
for (int i = 0; i < allData.length; i++) {
if (allData[i] instanceof EmployeeData) {
EmployeeData employee = (EmployeeData) allData[i];
System.out.println(
employee.getMailAddress()
);
}
}
Scanner scanner = new Scanner(System.in);
//9段階目
//入力した部署名に所属する社員を検索
//部署名から部署IDを取得
//部署IDと一致する社員を検索
//社員名とメールアドレスを表示
System.out.println("検索したい部署名を入力してください");
String departmentName = scanner.nextLine();
//該当部署の部署ID
String targetDepartmentId = null;
//部署見つかったか
boolean departmentFound = false;
//部署検索
for (int i = 0; i < allData.length; i++) {
if (allData[i] instanceof DepartmentData) {
DepartmentData department =(DepartmentData) allData[i];
if (department.getNmDepartment().equals(departmentName)) {
targetDepartmentId = department.getIdDepartment();
departmentFound = true;
break;
}
}
}
//部署が存在した場合
if (departmentFound) {
System.out.println("所属社員一覧");
for (int i = 0; i < allData.length; i++) {
if (allData[i] instanceof EmployeeData) {
EmployeeData employee =(EmployeeData) allData[i];
if (employee.getIdDepartment().equals(targetDepartmentId)) {
System.out.println(employee.getNmEmployee()
+ "\t"
+ employee.getMailAddress()
);
}
}
}
} else {
System.out.println(
"該当する部署が見つかりませんでした");
}
//三日目4段階目用
//System.out.println(employees[0].toCSV());
//System.out.println(employees[0].getPrimaryKeyValue());
//検索機能
//ループ
while (true) {
System.out.println("検索したい社員IDを入力してください(終了する場合は0)");
String search = scanner.nextLine();
if (search.equals("0")) {
System.out.println("システムを終了します");
break;
}
boolean found = false;
//ID検索と比較
for (int i = 0; i < employees.length; i++) {
if (employees[i].getPrimaryKeyValue().equals(search)) {
System.out.println(employees[i]);
found = true;
break;
}
}
//該当なし
if (!found) {
System.out.println("該当する社員が見つかりませんでした");
}
}
scanner.close();
}
}

View File

@@ -0,0 +1,125 @@
package misson1014;
public class Main1 {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
//8段階目まで
/*
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();
employees[0].setIdEmployee("10000");
8段階用
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("高橋準");
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");
for (int i = 0; i < employees.length; i++) {
System.out.println(employees[i]);
}
System.out.println(
"現在の社員データ件数:"
+ EmployeeData.getEmpCount()
+ "件");
*/
/*ここから9段階↓
EmployeeData employee1 =
new EmployeeData(
"10000",
"",
"ヤマダタツヤ",
"yamada@hoge.jp",
"aaa",
"10"
);
EmployeeData employee2 =
new EmployeeData(
"",
"山田龍也",
"ヤマダタツヤ",
"yamada@hoge.jp",
"aaa",
"10"
);
*/
//三日目5段階
BaseData employee1 = new EmployeeData(
"10000",
"",
"ヤマダタツヤ",
"yamada@hoge.jp",
"aaa",
"10"
);
BaseData employee2 = new EmployeeData(
"",
"山田龍也",
"ヤマダタツヤ",
"yamada@hoge.jp",
"aaa",
"10"
);
System.out.println(employee1);
System.out.println(employee1.toCSV());
System.out.println(employee1.getPrimaryKeyValue());
System.out.println(
employee1.getPrimaryKeyValue().equals("10000")
);
System.out.println(
employee2.getPrimaryKeyValue().equals("10000")
);
}
}

View File

@@ -0,0 +1,17 @@
package misson1014;
public class Shape {
private String name;
public Shape(String name) {
this.name = name;
}
public double area() {
return 0.0;
}
public void showInfo() {
System.out.println(this.name + "の面積は" + this.area() + "です");
}
}

View File

@@ -0,0 +1,31 @@
package misson1014;
public class Student {
int studentId;
String name;
//staticフィールド
static int studentCount = 0;
//コンストラクタ
public Student(int studentId, String name) {
//フィールド代入
this.studentId = studentId;
this.name = name;
studentCount++;
}
//学生情報
void printProfile() {
System.out.println(
"学籍番号:" + this.studentId
+ " 名前:" + this.name);
}
//現在の学生数用staticメソッド
public static int getStudentCount() {
return studentCount;
}
}

View File

@@ -1,28 +0,0 @@
public class BasicCheck1 {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
Book book = new Book();
Book book1 = new Book();
book.title = "吾輩は猫である";
book.author = "夏目漱石";
book.price = 800;
System.out.println(book1.title);
System.out.println(book1.author);
System.out.println(book1.price);
System.out.println(book.title);
System.out.println(book.author);
System.out.println(book.price);
}
}

View File

@@ -1,18 +0,0 @@
public class Book {
String title;
String author;
int price;
public Book() {
title = "タイトル未設定";
author = "著者未設定";
price = 0;
}
public Book(String title,String author,int price) {
this.title = title;
this.author = author;
this.price = price;
}
}

View File

@@ -1,142 +0,0 @@
public class EmployeeData extends BaseData {
private String idEmployee;
private String nmEmployee;
private String knEmployee;
private String mailAddress;
private String password;
private String idDepartment;
private static int empCount = 0;
public String getIdEmployee() {
return idEmployee;
}
public void setIdEmployee(String idEmployee) {
if (idEmployee == null || idEmployee == " " ||idEmployee == " " || idEmployee.isEmpty()) {
System.out.println("社員IDが空のため設定できませんでした");
return;
}
this.idEmployee = idEmployee;
}
public String getNmEmployee() {
return nmEmployee;
}
public void setNmEmployee(String nmEmployee) {
if (nmEmployee == null || nmEmployee == " " || nmEmployee == " " || nmEmployee.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;
}
public String getIdDepartment() {
return idDepartment;
}
public void setIdDepartment(String idDepartment) {
this.idDepartment = idDepartment;
}
public boolean isMatchId(String id) {
if (this.idEmployee != null && this.idEmployee.equals(id)) {
return true;
} else {
return false;
}
}
public void showInfo() {
System.out.println(this.toString());
}
@Override
public String toString(){
return(getIdEmployee() + "\t" + getNmEmployee() + "\t" + getKnEmployee() + "\t" + getMailAddress() + "\t" +getPassword() + "\t" +getIdDepartment()
);
}
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++;
}
static int getEmpCount() {
return empCount;
}
@Override
public String toCSV() {
return getIdEmployee() + "," + getNmEmployee() + "," + getKnEmployee() + "," + getMailAddress() + "," + getPassword() + "," + getIdDepartment();
}
@Override
public String getPrimaryKeyValue(){
return this.idEmployee;
}
}

View File

@@ -1,56 +0,0 @@
class Item {
private String name;
private int price;
private int stock;
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;
}
public void sell(int amount) {
this.setStock(this.getStock() - amount);
}
@Override
public String toString() {
return getName() + " " + getPrice() + "円 (残り" + getStock() + "個)";
}
}

View File

@@ -1,73 +0,0 @@
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
BaseData[] employees = new BaseData[5];
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 (int i = 0; i < employees.length; i++) {
//System.out.println(employees[i]);
}
System.out.println("現在のデータ件数:"+EmployeeData.getEmpCount()+"件");
while (true) {
//Scannerを使って、
Scanner scanner = new Scanner(System.in);
//「検索したい社員IDを入力してください」と表示し
System.out.println("検索したい社員IDを入力してください(終了する場合は0)");
//キーボード入力を受け取る
String idEmployee = scanner.next();
if ("0".equals(idEmployee)) {
System.out.println("システムを終了します");
break;
}
//employees配列をfor文で1件ずつ確認し
for(int i = 0; i < employees.length; i++) {
if (((EmployeeData) employees[i]).isMatchId(idEmployee)) {
//一致する社員が見つかったら、その社員のshowInfoメソッドを呼び出す
((EmployeeData) employees[i]).showInfo();
}
else {
//
System.out.println("検索したいIDが見つかりませんでした");
break;
}
}
}
//System.out.println(employees[0].toCSV());
//System.out.println(employees[0].getPrimaryKeyValue());
}
}

View File

@@ -1,30 +0,0 @@
public class Student {
int studentId;
String name;
public void printProfile() {
System.out.println("学籍番号:"+this.studentId+" 名前:"+this.name);
}
public Student(int StudentId,String name) {
this.studentId = StudentId;
this.name = name;
studentCount++;
}
public int getStudentCount() {
return studentCount;
}
static int studentCount = 0;
}

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>実行例_20261020</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@@ -0,0 +1,11 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=21

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,10 @@
public abstract class BaseData {
public abstract String toString();
public abstract String toCSV();
public abstract String getPrimaryKeyValue();
}

View File

@@ -0,0 +1,38 @@
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 getIdDepartment() + "\t" + getNmDepartment();
}
@Override
public String toCSV() {
return getIdDepartment() + "," + getNmDepartment();
}
@Override
public String getPrimaryKeyValue() {
return getIdDepartment();
}
}

View File

@@ -0,0 +1,147 @@
public class EmployeeData extends BaseData {
//社員ID
private String idEmployee;
//社員名
private String nmEmployee;
//社員名カナ
private String knEmployee;
//メールアドレス
private String mailAddress;
//パスワード
private String password;
//部署ID
private String 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++;
}
//ゲッター
public String getIdEmployee() {
return idEmployee;
}
public String getNmEmployee() {
return nmEmployee;
}
public String getKnEmployee() {
return knEmployee;
}
public String getMailAddress() {
return mailAddress;
}
public String getPassword() {
return password;
}
public String getIdDepartment() {
return idDepartment;
}
//セッター
public void setIdEmployee(String idEmployee) {
if (idEmployee == null) {
System.out.println("社員IDが空のため設定できませんでした");
return;
}
if (idEmployee.trim().isEmpty()) {
System.out.println("社員IDが空のため設定できませんでした");
return;
}
this.idEmployee = idEmployee;
}
public void setNmEmployee(String nmEmployee) {
if (nmEmployee == null) {
System.out.println("社員名が空のため設定できませんでした");
return;
}
if (nmEmployee.trim().isEmpty()) {
System.out.println("社員名が空のため設定できませんでした");
return;
}
this.nmEmployee = nmEmployee;
}
public void setKnEmployee(String knEmployee) {
this.knEmployee = knEmployee;
}
public void setMailAddress(String mailAddress) {
this.mailAddress = mailAddress;
}
public void setPassword(String password) {
this.password = password;
}
public void setIdDepartment(String idDepartment) {
this.idDepartment = idDepartment;
}
//toString
@Override
public String toString() {
return getIdEmployee() + "\t"
+ getNmEmployee() + "\t"
+ getKnEmployee() + "\t"
+ getMailAddress() + "\t"
+ getPassword() + "\t"
+ getIdDepartment();
}
//CSV形式へ変換
@Override
public String toCSV() {
return getIdEmployee() + ","
+ getNmEmployee() + ","
+ getKnEmployee() + ","
+ getMailAddress() + ","
+ getPassword() + ","
+ getIdDepartment();
}
//キー取得
@Override
public String getPrimaryKeyValue() {
return getIdEmployee();
}
//ID一致判定
public boolean isMatchId(String id) {
return getIdEmployee().equals(id);
}
//件数取得
public static int getEmpCount() {
return empCount;
}
}

View File

@@ -0,0 +1,214 @@
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//社員データ格納用配列
//CSVから読み込んだ社員データを格納する
EmployeeData[] employees = new EmployeeData[100];
//読み込んだ件数管理用
int count = 0;
// EmployeeData.csv読込
try {
BufferedReader br =
new BufferedReader(new FileReader("C:\\Users\\石原 叶大\\Documents\\em-oop\\EmployeeData.csv"));
String line;
// CSVを1行ずつ読込
while ((line = br.readLine()) != null) {
//カンマ区切りで分割
String[] data = line.split(",");
// EmployeeData生成
EmployeeData employee = new EmployeeData();
//CSVの値をEmployeeDataへ設定
employee.setIdEmployee(data[0]);
employee.setNmEmployee(data[1]);
employee.setKnEmployee(data[2]);
employee.setMailAddress(data[3]);
employee.setPassword(data[4]);
employee.setIdDepartment(data[5]);
//配列へ格納
employees[count] = employee;
//件数加算
count++;
}
//ファイルクローズ
br.close();
} catch (IOException e) {
//CSV読込失敗
System.out.println("CSVの読み込みに失敗しました");
return;
}
//システム開始
System.out.println("システムを開始します");
//ループ
//0が入力されるまで繰り返す
while (true) {
System.out.println();
//メニュー表示
System.out.println("1:検索 2:登録 3:更新 4:削除 0:終了");
//メニュー入力
String menu = scanner.nextLine();
//システム終了
if (menu.equals("0")) {
System.out.println("システムを終了します");
break;
}
//検索機能
else if (menu.equals("1")) {
//検索メニュー表示
System.out.println("1:全検索 2:条件検索 それ以外:戻る");
String searchMenu = scanner.nextLine();
//全検索
if (searchMenu.equals("1")) {
// 読み込んだ全社員を表示
for (int i = 0; i < count; i++) {
System.out.println(employees[i]);
}
}
//社員ID検索
else if (searchMenu.equals("2")) {
//ID入力
System.out.println("IDを入力してください");
String id = scanner.nextLine();
//検索判定
boolean found = false;
//配列検索
for (int i = 0; i < count; i++) {
//社員ID比較
if (employees[i].getPrimaryKeyValue().equals(id)) {
//一致データ表示
System.out.println(employees[i]);
found = true;
break;
}
}
//見つからなかった場合
if (!found) {System.out.println("該当する社員が見つかりませんでした");
}
}
}
//社員登録機能
else if (menu.equals("2")) {
//新しい社員データ生成
EmployeeData employee = new EmployeeData();
//社員ID入力
System.out.println("社員IDを入力してください");
employee.setIdEmployee(scanner.nextLine());
//社員名入力
System.out.println("社員名を入力してください");
employee.setNmEmployee(scanner.nextLine());
//フリガナ入力
System.out.println("フリガナを入力してください");
employee.setKnEmployee(scanner.nextLine());
//メールアドレス入力
System.out.println("メールアドレスを入力してください");
employee.setMailAddress(scanner.nextLine());
//パスワード入力
System.out.println("パスワードを入力してください");
employee.setPassword(scanner.nextLine());
//部署ID入力
System.out.println("部署IDを入力してください");
employee.setIdDepartment(scanner.nextLine());
//配列へ追加
employees[count] = employee;
//CSVへ追記
try {
PrintWriter pw =
new PrintWriter(new FileWriter("C:\\Users\\石原 叶大\\Documents\\em-oop\\EmployeeData.csv",true));
//CSVに1行追加
pw.println(employee.toCSV());
pw.close();
} catch (IOException e) {
System.out.println("CSVへの保存に失敗しました");
return;
}
// 件数加算
count++;
System.out.println("登録が完了しました");
}
//更新機能
//未実装あとから使う
else if (menu.equals("3")) {
System.out.println("更新機能は未実装です");
}
//削除機能
//未実装あとから使う
else if (menu.equals("4")) {
System.out.println("削除機能は未実装です");
}
//入力ミス
else {
System.out.println("正しく入力してください");
}
}
scanner.close();
}
}