9 Commits

Author SHA1 Message Date
s-ohasi
168cece8e1 3日目3段階目完了しました。 2026-09-24 15:41:59 +09:00
s-ohasi
de5b1ad9be 3日目2段階目完了しました。 2026-09-24 15:26:24 +09:00
s-ohasi
a24fd3a789 2日目3段階目完了しました。 2026-09-24 11:18:16 +09:00
s-ohasi
5e25bbd817 2日目の2段階目完了しました。 2026-09-18 16:32:33 +09:00
s-ohasi
944456f149 2日目の1段階目完了しました。 2026-09-18 15:16:45 +09:00
s-ohasi
0dc4c3e59c 1日目6段階目完了しました。 2026-09-18 13:52:34 +09:00
s-ohasi
1f000f019a 1日目5段階目完了しました。 2026-09-18 11:08:05 +09:00
s-ohasi
5cc9015dc7 1日目3段階目完了しました。 2026-09-18 10:50:49 +09:00
s-ohasi
2492cc0631 1日目4段階目が完了しました。 2026-09-18 10:05:43 +09:00
21 changed files with 149 additions and 644 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"/>
<classpathentry kind="src" path="em-oop/src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

1
.gitignore vendored
View File

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

View File

@@ -1,17 +0,0 @@
<?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>

View File

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

View File

@@ -3,25 +3,15 @@ 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();
book2.title = "銀河鉄道の夜";
book2.author ="宮沢賢治";
book2.price = 500;
Book book2 = new Book("銀河鉄道の夜", "宮沢賢治", 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,29 +7,28 @@ 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);
for (int i = 0; i < items.length; i++) {
items[i].sell(5);
}
items[0].sell(5);
items[1].sell(5);
items[2].sell(5);
for (int i = 0; i < items.length; i++) {
for(int i= 0;i<3;i++) {
System.out.println(items[i]);
}
}
}

View File

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

View File

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

View File

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

View File

@@ -1,13 +1,17 @@
public class Day3Check3 {
public static void main(String[] ages) {
Shape shape1 = new Circle(2);
shape1.showInfo();
Shape shape2 = new Rectangle(3, 4);
shape2.showInfo();
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
}
//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

@@ -1,59 +0,0 @@
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,153 +1,17 @@
public class EmployeeData extends BaseData {
public class EmployeeData {
String idEmployee;
String nmEmployee;
String knEmployee;
String mailAddress;
String password;
String idDepartment;
private String idEmployee;
private String nmEmployee;
private String knEmployee;
private String mailAddress;
private String password;
private String idDepartment;
//社員データ件数
private static int empCount = 0;
void showInfo(){
System.out.println(idEmployee + "\t" + nmEmployee +
"\t" +knEmployee + "\t" + mailAddress +
"\t" +password + "\t" + idDepartment );
//引数なしコンストラクタ
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,3 +1,5 @@
public interface Greeting {
String hello();
}
String hello();
}

View File

@@ -1,11 +1,9 @@
public class Item {
private String name;
//
String name;
private int price;
private int stock;
public String getName() {
return name;
@@ -33,11 +31,9 @@ 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,9 +1,10 @@
public class JapaneseGreeting implements Greeting {
//
public class JapaneseGreeting implements Greeting{
@Override
public String hello() {
// TODO 自動生成されたメソッド・スタブ
return "こんにちは";
}
}

View File

@@ -1,257 +1,59 @@
public class Main {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
//型、変数宣言しインスタンス化
EmployeeData employee = new EmployeeData();
//Day3_5段階目:BaseData型で社員を作成
// BaseData employee = new EmployeeData(
// "10000",
// "山田龍也",
// "ヤマダタツヤ",
// "yamada@hoge.jp",
// "aaa",
// "10"
// );
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();
// System.out.println(employee.toCSV());
// System.out.println(employee.getPrimaryKeyValue());
//フィールドに代入
employees[0].idEmployee = "10000";
employees[0].nmEmployee = "山田龍也";
employees[0].knEmployee = "ヤマダタツヤ";
employees[0].mailAddress = "yamada@hoge.jp";
employees[0].password = "aaa";
employees[0].idDepartment = "10";
//Day3_5段階目:BaseData型の配列を作成
BaseData[] Employees = new EmployeeData[5];
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[0] = new EmployeeData(
"10000",
"山田龍也",
"ヤマダタツヤ",
"yamada@hoge.jp",
"aaa",
"10"
);
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[1] = new EmployeeData(
"10001",
"高橋準",
"タカハシジュン",
"jtaka@hoge.jp",
"bbb",
"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[2] = new EmployeeData(
"10002",
"麻枝史明",
"マエダフミアキ",
"fmak@hoge.jp",
"ccc",
"11"
);
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[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];
for(int i= 0; i < 5 ; i++) {
employees[i].showInfo();
}
//部署データ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);
}
}

View File

@@ -1,20 +0,0 @@
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,22 +1,4 @@
//
//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 {
//フィールド作成
@@ -24,7 +6,6 @@ public class Shape {
//コンストラクタ作成
public Shape(String name) {
this.name = name;
}
//メソッド作成

View File

@@ -1,30 +1,25 @@
public class Student {
int studentId;
String name;
static int studentCount = 0;
//変数を作る
int studentId;
String name;
public Student(int studentId, String name) {
this.studentId = studentId;
this.name = name;
//フィールド追加
static int studentCount = 0;
//コンストラクタ追加
public Student(int studentId,String name) {
this.studentId = studentId;
this.name = name;
studentCount++;
}
studentCount++;
}
public void printProfile() {
//メソッド追加
public static int getStudentCount() {
return 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;
}
}
}