26 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
m-shimizu
7e13efcb68 3段階目 2026-09-18 10:12:01 +09:00
m-shimizu
ba035d4a3c 2段階目 2026-09-16 16:47:52 +09:00
m-shimizu
86a51ddb8e 1段階目 2026-09-16 16:07:25 +09:00
m-shimizu
23f5358254 3段階目 2026-09-16 13:42:09 +09:00
m-shimizu
b3fd66606d Merge branch 'main' of https://gitea.it-college.co.jp/2026_0910_AI_5G_Java_MUN/java-cui-em-oop into m_shimizu 2026-09-16 13:12:42 +09:00
m-shimizu
2ed5d89eca 2段階目 2026-09-16 13:12:13 +09:00
m-shimizu
5eebc7c766 1段階目 2026-09-15 16:25:25 +09:00
m-shimizu
ac9efcc611 6段階目 2026-09-15 15:54:40 +09:00
m-shimizu
2065f850b4 段階4 2026-09-15 14:54:00 +09:00
m-shimizu
389c1a0a48 段階3 2026-09-15 14:26:28 +09:00
m-shimizu
357ad900a1 段階2 2026-09-15 13:51:34 +09:00
7559a7dfa7 段階2完了いたしました。 2026-09-14 16:36:18 +09:00
43567c0e0c 1段階目完了 2026-09-14 15:14:17 +09:00
21 changed files with 644 additions and 149 deletions

6
.classpath Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="src" path="em-oop/src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

1
.gitignore vendored
View File

@@ -25,3 +25,4 @@ hs_err_pid*
replay_pid*
/.metadata/
/bin/

17
.project Normal file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>java-cui-em-oop</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>

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

@@ -3,15 +3,25 @@ public class BasicCheck1 {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
Book book1 = new Book();
book1.title = "タイトル未設定";
book1.author ="著者未設定";
book1.price = 0;
System.out.println(book1.title);
System.out.println(book1.author);
System.out.println(book1.price);
Book book2 = new Book("銀河鉄道の夜", "宮沢賢治", 500);
Book book2 = new Book();
book2.title = "銀河鉄道の夜";
book2.author ="宮沢賢治";
book2.price = 500;
System.out.println(book2.title);
System.out.println(book2.author);
System.out.println(book2.price);
}
}

View File

@@ -1,21 +1,21 @@
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,"佐藤次郎");
//メソッド呼び出し
// student.studentId = 1;
// student.name = "鈴木一郎";
// System.out.print("学籍番号"+student.studentId);
// System.out.print("名前:" + student.name);
student1.printProfile();
student2.printProfile();
student3.printProfile();
//クラスから直接呼び出し
System.out.println("現在の生徒数" +Student.getStudentCount() + "人");
System.out.println("現在の生徒数:" + Student.getStudentCount() + "人");
}
}

View File

@@ -7,28 +7,29 @@ public class BasicCheck3 {
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] = new Item();
items[1].setName("消しゴム");
items[1].setPrice(80);
items[1].setStock(30);
items[2] = new Item();
items[2].setName("鉛筆");
items[2].setPrice(60);
items[2].setStock(100);
items[0].sell(5);
items[1].sell(5);
items[2].sell(5);
for (int i = 0; i < items.length; i++) {
items[i].sell(5);
}
for(int i= 0;i<3;i++) {
for (int i = 0; i < items.length; i++) {
System.out.println(items[i]);
}
}
}

View File

@@ -1,20 +1,20 @@
public class Book {
public String title;
public String author;
public int price;
//引数なしコンストラクタ
String title;
String author;
int price;
public Book() {
title = "タイトル未設定";
author = "著者未定";
price = 0;
}
//3つの引数を持つコンストラクタ
public Book(String title, String author, int price) {
author = "著者未設定";
price = 0;
}
public Book(String title,String author,int price){
this.title = title;
this.author = author;
this.price = price;
}
}

View File

@@ -1,25 +1,43 @@
public class Circle extends Shape {
//Shapeクラスを継承
//フィールド作成
private double radius;
//コンストラクタ作成
public Circle(double radius) {
super("円");
this.radius = radius;
}
//メソッド作成
@Override
public double area() {
return Math.PI * radius * radius;
}
@Override
public void showInfo() {
super.showInfo();
System.out.println("(半径:" + this.radius + ")");
System.out.println("半径:" + this.radius);
}
// //Shapeクラスを継承
//
// //フィールド作成
// private double radius;
//
// //コンストラクタ作成
// public Circle(double radius) {
// super("円");
// this.radius = radius;
// }
//
// //メソッド作成
// public double area() {
// return Math.PI * radius * radius;
// }
//
// public void showInfo() {
// super.showInfo();
// System.out.println("(半径:" + this.radius + ")");
// }
}

View File

@@ -2,14 +2,10 @@
public class Day3Check1 {
public static void main(String[] args) {
//インスタンス作成
Circle c = new Circle(2);
//メソッド呼び出し
c.showInfo();
Circle circle = new Circle(2.0);
circle.showInfo();
}
}

View File

@@ -2,10 +2,13 @@
public class Day3Check2 {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
Rectangle r = new Rectangle(3, 4);
r.showInfo();
Greeting gre = new JapaneseGreeting();
System.out.println(gre.hello());
Rectangle rectangle = new Rectangle(3,4);
rectangle.showInfo();
System.out.println("四角形の面積は" + rectangle.area() + "です");
Greeting greeting = new JapaneseGreeting();
System.out.println(greeting.hello());
}
}

View File

@@ -1,17 +1,13 @@
public class Day3Check3 {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
public static void main(String[] ages) {
Shape shape1 = new Circle(2);
shape1.showInfo();
Shape shape2 = new Rectangle(3, 4);
shape2.showInfo();
//Shape型の変数shapeにradius引数2のCircle代入
Shape shape1 = new Circle(2);
shape1.showInfo();
//Shape型の変数2に引数(widthが3、heightが4)を代入する
Shape shape2 = new Rectangle(3, 4);
shape2.showInfo();
}
}
}

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,17 +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(idEmployee + "\t" + nmEmployee +
"\t" +knEmployee + "\t" + mailAddress +
"\t" +password + "\t" + 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,5 +1,3 @@
public interface Greeting {
String hello();
}
String hello();
}

View File

@@ -1,9 +1,11 @@
public class Item {
//
String name;
private String name;
private int price;
private int stock;
public String getName() {
return name;
@@ -31,9 +33,11 @@ public class Item {
void sell(int amount) {
this.setStock(this.getStock() - amount);
}
@Override
public String toString() {
return getName() + " " + getPrice() + "円 (残り" + getStock() + "個)";
return getName() + "" + getPrice() + "円(残り" + getStock() + "個)";
}
}

View File

@@ -1,10 +1,9 @@
//
public class JapaneseGreeting implements Greeting{
public class JapaneseGreeting implements Greeting {
@Override
public String hello() {
// TODO 自動生成されたメソッド・スタブ
return "こんにちは";
}
}

View File

@@ -1,59 +1,257 @@
public class Main {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
//型、変数宣言しインスタンス化
EmployeeData employee = new EmployeeData();
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 = "fumi@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"
);
for(int i= 0; i < 5 ; i++) {
employees[i].showInfo();
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);
// System.out.println(Employees.mailAddress);
// System.out.println(Employees.password);
// System.out.println(Employees.idDepartment);
}
}

20
em-oop/src/Rectangle.java Normal file
View File

@@ -0,0 +1,20 @@
public class Rectangle extends Shape {
private double width;
private double height;
public Rectangle(double width, double height) {
super("四角");
this.width = width;
this.height = height;
}
@Override
public double area() {
// TODO 自動生成されたメソッド・スタブ
return width * height;
}
}

View File

@@ -1,4 +1,22 @@
//
//public abstract class Shape {
//
// private String name;
//
// public Shape(String name) {
// this.name = name;
//
// }
//
// public abstract double area();
// //return 0.0;
//
//
//
// public void showInfo() {
// //System.out.println(this.name + "の面積は" + this.area() + "です");
//
// }
public class Shape {
//フィールド作成
@@ -6,6 +24,7 @@ public class Shape {
//コンストラクタ作成
public Shape(String name) {
this.name = name;
}
//メソッド作成

View File

@@ -1,25 +1,30 @@
public class Student {
//変数を作る
int studentId;
String name;
int studentId;
String name;
static int studentCount = 0;
//フィールド追加
static int studentCount = 0;
//コンストラクタ追加
public Student(int studentId,String name) {
this.studentId = studentId;
this.name = name;
studentCount++;
}
public Student(int studentId, String name) {
this.studentId = studentId;
this.name = name;
//メソッド追加
public static int getStudentCount() {
return studentCount;
}
//メソッド
public void printProfile() {
studentCount++;
}
public void printProfile() {
System.out.println("学籍番号:" + this.studentId + " 名前:" + this.name);
}
//public static void main(String[] args) {
//Student s = new Student(1,"鈴木一郎");
//s.printProfile();
}
//}
public static int getStudentCount() {
return studentCount;
}
}