11 Commits

Author SHA1 Message Date
28b8e508f3 1日目_段階4 2026-09-18 12:45:55 +09:00
1f57c5b7e0 1日目_段階4 2026-09-18 12:45:29 +09:00
2c6742fd26 2日目_段階3完了 2026-09-18 10:56:38 +09:00
9780db9a8f ミッション課題 2026-09-18 10:28:27 +09:00
439556d4cc Day3課題2
q5の1~3まで終了
2026-09-17 13:55:31 +09:00
012cbcd562 3日目_1段階 2026-09-16 15:59:09 +09:00
f4acecff05 1日目_段階4_完了 2026-09-15 16:12:18 +09:00
cdf731795f 一日目_段階3_完了 2026-09-15 15:50:41 +09:00
c82f9ca678 2日目_段階1_完了 2026-09-15 14:36:27 +09:00
7559a7dfa7 段階2完了いたしました。 2026-09-14 16:36:18 +09:00
43567c0e0c 1段階目完了 2026-09-14 15:14:17 +09:00
22 changed files with 338 additions and 499 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>

View File

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

View File

@@ -2,27 +2,24 @@
public class BasicCheck1 {
public static void main(String[] args) {
//1-1
// Book book = new Book();
// book.title = "吾輩は猫である";
// book.author = "夏目漱石";
// book.price = 800;
//
// System.out.println(book.title);
// System.out.println(book.author);
// System.out.println(book.price);
//1-1
// TODO 自動生成されたメソッド・スタブ
// Book book = new Book();
// book.title = "吾輩は猫である";
// book.author ="夏目漱石";
// book.price = 800;
//2-1
Book book1 = new Book();
System.out.println(book1.title);
System.out.println(book1.author);
System.out.println(book1.price);
Book book2 = new Book("銀河鉄道の夜", "宮沢賢治", 500);
Book book2 = new Book("銀河鉄道の夜","宮沢賢治", 500);
System.out.println(book2.title);
System.out.println(book2.author);
System.out.println(book2.price);
//2-1
}
}

View File

@@ -1,24 +1,37 @@
public class BasicCheck2 {
public static void main(String[] args) {
//1-2
// Student student = new Student();
// student.studentId=1;
// student.name="鈴木一郎";
//
// student.printProfile();
//1-2
//2-3
Student student1 = new Student(1, "鈴木一郎");
student1.printProfile();
// Student student = new Student(3,"a");
//Student型のstudentを宣言、インスタンスを代入する
Student student1 = new Student(1,"鈴木一郎");
Student student2 = new Student(2, "田中花子");
student2.printProfile();
Student student3 = new Student(3, "佐藤次郎");
student3.printProfile();
Student student3 = new Student(3,"佐藤次郎");
System.out.println("現在の生徒数:" + Student.getStudentCount() + "人");
//2-3
// student1.studentId = 1;
// student1.name = "鈴木一郎";
// //studentIDに1,nameに鈴木一郎を代入
//
// student2.studentId = 2;
// student2.name ="田中花子";
//
// student3.studentId = 3;
// student3.name ="佐藤次郎";
//
//studentのprintProfileメソッドを呼び出す
student1.printProfile();
student2.printProfile();
student3.printProfile();
Student.getStudentCount();
}
}
//
//System.out.print("学籍番号"+student.studentId);
//System.out.print("名前:" + student.name);

View File

@@ -1,19 +1,53 @@
public class BasicCheck3 {
public static void main(String[] args) {
//1-3
Item[] items = new Item[3];
items[0] = new Item("ノート", 120, 50);
items[1] = new Item("消しゴム", 80, 30);
items[2] = new Item("鉛筆", 60, 100);
for (int i = 0; i < 3; i++) {
public static void main(String[] args){
Item[] items = new Item[3];
items[0] = new Item();
items[0].setName("ノート");
items[0].setPrice(80);
items[0].setStock(50);
items[1] = new Item();
items[1].setName("ノート");
items[1].setPrice(120);
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);
//2-2
System.out.println(items[i].toString());
//2-2
}
System.out.println("在庫");
for(int i = 0; i < items.length; i ++) {
//items[i]をprintlnに渡すとitemクラスのtoStringが自動で呼ばれる
System.out.println(items[i]);
// System.out.println("商品名" + items[i].name+ "価格" + items[i].price +"在庫" + items[i].stock);
// System.out.println("価格" + items[i].price);
// System.out.println("在庫" + items[i].stock);
}
//1-3
// Item 0 = new Item("ノート", 120, 50);
}
}

View File

@@ -1,22 +1,24 @@
public class Book {
//1-1
String title;
String author;
int price;
//1-1
public String title;
public String author;
public int price;
//2-1
//引数なしコンストラクタ
public Book() {
title = "タイトル未設定";
author = "著者未設定";
price = 0;
}
this.title = "タイトル未設定";
this.author = "著者未設定";
this.price = 0;
// System.out.println("コンストラクタが呼び出されました");
}
//引数ありコンストラクタ
public Book(String title, String author, int price) {
// System.out.println("引数なしのコンストラクタが呼び出されました");
this.title = title;
this.author = author;
this.price = price;
}
//2-1
}

View File

@@ -1,20 +1,21 @@
public class Circle extends Shape {
private double radius;
public class Circle extends Shape { //shapeクラスを継承する
private double radius; //radius: 半径 フィールドradius (double型、private)
public Circle(double radius) { //コンストラクタpub 引数dou/raを受け取る
super("円"); //"円"呼び出し 文字列
this.radius = radius; //radiusフィールドにも引数の値を代入する。
public Circle(double radius) {
super("円");
this.radius = radius;
}
@Override
public double area() {
return Math.PI * radius * radius;
public double area() { //Overrideは 子クラスで!
return Math.PI * radius * radius;
}
@Override
public void showInfo() {
super.showInfo();
public void showInfo(){
super.showInfo();
System.out.println("(半径:" + this.radius + ")");
}
}

View File

@@ -2,8 +2,13 @@
public class Day3Check1 {
public static void main(String[] args) {
Circle circle = new Circle(2);
circle.showInfo();
}
Circle circle = new Circle(2);
circle.area();
circle.showInfo();
// Rectangle rectangle = new Rectangle(2);
// rectangle.area();
employee.showinfo();
}
}

View File

@@ -1,10 +1,21 @@
public class Day3Check2 {
public static void main(String[] args) {
//Rect-クラスをもとにrect-のインスタンスつくる
//3,4をRectangleのコンストラクタに渡す
Rectangle rectangle = new Rectangle(3, 4);
//Rect-はShapeを継承しているため親クラスのshowInfoメソッドを使える
rectangle.showInfo();
//JaGrクラスをもとにインスタンスをつくる
//変数の型はGreetingインタフェース型にしている
Greeting greeting = new JapaneseGreeting();
//greeetingのhelloメソッドよびだす
//実際に入っているインスタンスはJaGrなのでJaGrで作ったhello()が実行される
System.out.println(greeting.hello());
}

View File

@@ -0,0 +1,15 @@
public class Day3Check3 {
public static void main(String[] args) {
//Shape型の変数にCircleのインスタンスを代入
Shape shape1 = new Circle(2);
//円の情報を表示
shape1.showInfo();
//Shape型の変数にRectangleのインスタンスを代入
Shape shape2 = new Rectangle(3, 4);
//四角形の情報を表示
shape2.showInfo();
}
}

View File

@@ -1,12 +0,0 @@
public class DayCheck3 {
public static void main(String[] args) {
Shape shape1 = new Circle(2);
shape1.showInfo();
Shape shape2 = new Rectangle(3, 4);
shape2.showInfo();
}
}

View File

@@ -1,44 +0,0 @@
public class DepartmentData extends BaseData {
//3-6
private String idDepartment;
private String nmDepartment;
//3-6
public DepartmentData(String idDepartment, String nmDepartment) {
this.idDepartment = idDepartment;
this.nmDepartment = nmDepartment;
}
@Override
public String toString() {
return getIdDepartment() + "\t" + getNmDepartment();
}
@Override
public String toCSV() {
return getIdDepartment() + "," + getNmDepartment();
}
@Override
public String getPrimaryKeyValue() {
return getIdDepartment();
}
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;
}
//3-6
}

View File

@@ -1,152 +1,23 @@
public class EmployeeData extends BaseData {
//1-4
private String IdEmployee, nmEmployee, knEmployee, mailAddress, password, idDepartment;
//1-4 + 2-4
public class EmployeeData {
// public static void main(String args[]) {
//1-6
// public EmployeeData(String idEmployee, String nmEmployee, String knEmployee, String mailAddress, String password,
// String idDepartment) {
// this.IdEmployee = idEmployee;
// this.nmEmployee = nmEmployee;
// this.knEmployee = knEmployee;
// this.mailAddress = mailAddress;
// this.password = password;
// this.idDepartment = idDepartment;
// }
//1-6
String idEmployee ;
String nmEmployee ;
String knEmployee ;
String mailAddress ;
String password ;
String idDepartment ;
//1-5
//2-4
//2-6
@Override
public String toString() {
// System.out.println(getIdEmployee() + "\t" + getNmEmployee() + "\t" + getKnEmployee() + "\t" + getMailAddress()
// + "\t" + getPassword() + "\t" + getIdDepartment());
return (getIdEmployee() + "\t" + getNmEmployee() + "\t" + getKnEmployee() + "\t" + getMailAddress()
+ "\t" + getPassword() + "\t" + getIdDepartment());
}
//2-6
//2-4
//1-5
//3-4
@Override
public String toCSV() {
return getIdEmployee() + "," + getNmEmployee() + "," + getKnEmployee() + "," + getMailAddress()
+ "," + getPassword() + "," + getIdDepartment();
}
// public String Employee(String idEmployee) {
// this.idEmployee= idEmployee;
// }
public String getPrimaryKeyValue() {
return IdEmployee;
}
//3-4
//1-7
boolean isMatchId(String id) {
System.out.println(id + " を検索します");
if (id.equals(IdEmployee)) {
System.out.println(true);
} else {
System.out.println(false);
}
return false;
}
//1-7
//2-5
public EmployeeData() {
//2-7
empCount++;
//2-7
}
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);
//2-7
empCount++;
//2-7
}
//2-5
//2-7
private static int empCount = 0;
static int getEmpCount() {
return empCount;
public void showinfo() {
// this.idEmployee = idEmployee;
System.out.println(this.idEmployee + "\t" + this.nmEmployee+ "\t" + this.knEmployee + "\t"+ this.mailAddress+ "\t" + this.password + "\t"+ this.idDepartment );
}
//2-7
//2-4
public String getIdEmployee() {
return IdEmployee;
}
public void setIdEmployee(String idEmployee) {
//2-9
idEmployee = idEmployee.strip();
if (idEmployee.length() == 0) {
System.out.println("社員IDが空のため設定できませんでした");
return;
} else {
this.IdEmployee = idEmployee;
}
//2-9
}
public String getNmEmployee() {
return nmEmployee;
}
public void setNmEmployee(String nmEmployee) {
//2-8
nmEmployee = nmEmployee.strip();
if (nmEmployee.length() == 0) {
System.out.println("社員名が空のため設定できませんでした");
return;
} else {
this.nmEmployee = nmEmployee;
}
//2-8
}
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;
}
//2-4
}

View File

@@ -1,3 +1,4 @@
public interface Greeting {
String hello();
String hello();
}

View File

@@ -1,45 +1,31 @@
public class Item {
//1-3
//フィールドを宣言・外から触れないようにprivate
private String name;
private int price;
private int stock;
public Item(String name, int price, int stock) {
this.name = name;
this.price = price;
this.stock = stock;
}
void sell(int amount) {
// this.stock = this.stock - amount;
this.setStock(this.getStock() - amount); //2-2
//System.out.println(name + " " + price + "円 残り" + stock + "個");
}
//1-3
//2-2
@Override
public String toString() {
return getName() + "" + getPrice() + "円(残り" + getStock() + "個)";
}
//nameを取得するgetter
public String getName() {
return name;
}
public void setName(String name) {
//nameを設定するsetter
public void setName(String name) { //item="ノート"はもう使えない。item[0].setName("ノート")にしている
this.name = name;
}
//priceを取得するgetter
public int getPrice() {
return price;
}
//priceを設定するsetter
public void setPrice(int price) {
this.price = price;
}
//stockを取得するgetter
public int getStock() {
return stock;
}
@@ -47,5 +33,22 @@ public class Item {
public void setStock(int stock) {
this.stock = stock;
}
//2-2
// Item(String name, int price, int stock){
// this.name = name;
// this.price = price;
// this.stock = stock;
// }
//売れた数を在庫から引く
public void sell(int amount) {
this.setStock(this.getStock() - amount);
}
//Itemの情報を文字列として返す
@Override
public String toString() {
return getName() + "" + getPrice() + "円(残り" + getStock() + "個)";
}
}

View File

@@ -1,7 +1,13 @@
//JaGrクラスを作る、implements GrによってGreetingインターフェースを実装する
public class JapaneseGreeting implements Greeting {
//Grインターフェースで定義されているhello()メソッドをこのクラスに実装する
@Override
public String hello() {
//hello()が呼び出されたらString型の文字列を呼び出し元に返す
return "こんにちは";
}
}

View File

@@ -1,168 +1,35 @@
//import java.util.Scanner;//1-8
public class Main {
public static void main(String[] args) {
//1-8
// Scanner scanner = new Scanner(System.in);
// //1-9
// boolean end = false;
// while (!end) {
// //1-9
// System.out.println("検索したい社員IDを入力してください(終了するには0を入力)");
// String num = scanner.nextLine().strip();
// boolean found = false;
//1-8
//1-4
// BaseData employee = new EmployeeData();
// employee.setIdEmployee("10000");
// employee.setNmEmployee("山田龍也");
// employee.setKnEmployee("ヤマダタツヤ");
// employee.setMailAddress("yamada@hoge.jp");
// employee.setPassword("aaa");
// employee.setIdDepartment("10");
EmployeeData employee = new EmployeeData() ;
String idEmployee = "10000";
String nmEmployee = "山田龍也";
String knEmployee = "ヤマダタツヤ";
String mailAddress = "yamada@hoge.jp";
String password = "aaa";
String idDepartment = "10";
// System.out.println(employee.getIdEmployee());
// System.out.println(employee.getNmEmployee());
// System.out.println(employee.getKnEmployee());
// System.out.println(employee.getMailAddress());
// System.out.println(employee.getPassword());
// System.out.println(employee.getIdDepartment());
//1-4
employee.idEmployee = "1000";
employee.nmEmployee = "山田龍也";
employee.knEmployee = "ヤマダタツヤ";
employee.mailAddress ="yamada@hoge.jp";
employee.password = "aaa";
employee.idDepartment ="10";
//3-4
// System.out.println(employee.toCSV());
// System.out.println(employee.getPrimaryKeyValue());
//3-4
//2-5
// EmployeeData emp1 = new EmployeeData("10000", "山田龍也", "ヤマダタツヤ", "yamada@hoge.jp", "aaa", "10");
// EmployeeData emp2 = new EmployeeData("10001", "高橋準", "タカハシジュン", "Jtaka@hoge.jp", "bbb", "11");
// EmployeeData emp3 = new EmployeeData("10002", "麻枝史明", "マエダフミアキ", "fmak@hoge.jp", "ccc", "12");
// EmployeeData emp4 = new EmployeeData("10003", "丸戸章介", "マルトショウスケ", "marusyo@hoge.jp", "ddd", "13");
// EmployeeData emp5 = new EmployeeData("10004", "三宅武", "ミヤケタケシ", "miya@hoge.jp", "eee", "14");
//2-5
employee.showinfo();
//1-6
BaseData[] employee = new EmployeeData[5];
employee[0] = new EmployeeData("10000", "山田龍也", "ヤマダタツヤ", "yamada@hoge.jp", "aaa", "10");
employee[1] = new EmployeeData("10001", "高橋準", "タカハシジュン", "Jtaka@hoge.jp", "bbb", "10");
employee[2] = new EmployeeData("10002", "麻枝史明", "マエダフミアキ", "fmak@hoge.jp", "ccc", "11");
employee[3] = new EmployeeData("10003", "丸戸章介", "マルトショウスケ", "marusyo@hoge.jp", "ddd", "12");
employee[4] = new EmployeeData("10004", "三宅武", "ミヤケタケシ", "miya@hoge.jp", "eee", "13");
//1-5
//1-6
//2-5
// System.out.println(emp1);
// System.out.println(emp2);
// System.out.println(emp3);
// System.out.println(emp4);
// System.out.println(emp5);
// for (int i = 0; i < employee.length; i++) {
// System.out.println(employee[i]);
// }
//2-7
// System.out.println("現在の社員データ件数:" + EmployeeData.getEmpCount() + "件");
// for (int i = 0; i < 5; i++) {
// employee[i].showInfo();
// }
//2-7
//2-5
//1-6
//1-5
// System.out.println(employee);
// System.out.println(idEmployee);
// System.out.println(nmEmployee);
// System.out.println(knEmployee);
// System.out.println(mailAddress);
// System.out.println(password);
// System.out.println(idDepartment);
//1-7
//3-5
// System.out.println(employee[2].getPrimaryKeyValue().equals("10002"));
// System.out.println(employee[2].getPrimaryKeyValue().equals("99999"));
//3-5
//1-7
//1-8
// for (int i = 0; i < employee.length; i++) {
// if (num.equals(employee[i].getIdEmployee())) {
// //2-6
// System.out.println(employee[i]);
// //2-6
//// employee[i].showInfo();
// found = true;
// break;
// } else if (num.equals("0")) {
// System.out.println("システムを終了します");
// return;
// }
// }
// if (!found) {
// System.out.println("該当する社員が見つかりませんでした");
// }
//1-8 isMatchIdメソッドを使っていない
// }
//3-6
BaseData[] allData = new BaseData[11];
allData[0] = employee[0];
allData[1] = employee[1];
allData[2] = employee[2];
allData[3] = employee[3];
allData[4] = employee[4];
DepartmentData dept = new DepartmentData("10", "役員");
allData[5] = dept;
DepartmentData dept2 = new DepartmentData("11", "人事・総務部");
allData[6] = dept2;
DepartmentData dept3 = new DepartmentData("12", "経理部");
allData[7] = dept3;
DepartmentData dept4 = new DepartmentData("13", "システム開発事業部");
allData[8] = dept4;
DepartmentData dept5 = new DepartmentData("14", "教育事業部");
allData[9] = dept5;
DepartmentData dept6 = new DepartmentData("15", "営業企画部");
allData[10] = dept6;
for (int i = 0; i < 11; i++) {
System.out.println(allData[i]);
}
//3-6
//3-7
int Cou = 0;
int Cou2 = 0;
for (int i = 0; i < 11; i++) {
if (allData[i] instanceof EmployeeData) {
Cou = Cou + 1;
} else if (allData[i] instanceof DepartmentData) {
Cou2 = Cou2 + 1;
}
}
System.out.println("社員データ:" + Cou + "件");
System.out.println("部署データ:" + Cou2 + "件");
//3-7
//3-8
for (int i = 0; i < 11; i++) {
if (allData[i] instanceof EmployeeData) {
EmployeeData emp = (EmployeeData) allData[i];
System.out.println(emp.getMailAddress());
}
}
//3-8
//3-9
for (int i = 0; i < 11; i++) {
if (allData[i] instanceof DepartmentData) {
DepartmentData bd = (DepartmentData) allData[i];
if (bd.getNmDepartment().equals("システム開発事業部")) {
for (int j = 0; j < 11; j++) {
if (allData[j] instanceof EmployeeData) {
EmployeeData emp = (EmployeeData) allData[j];
if (bd.getIdDepartment().equals(emp.getIdDepartment())) {
System.out.println(emp.getNmEmployee() + "\t" + emp.getMailAddress());
}
}
}
}
}
}
//3-9
}
}

View File

@@ -1,7 +1,9 @@
public class Rectangle extends Shape {
private double width;
private double height;
private double height; {
}
public Rectangle(double width, double height) {
super("四角形");
@@ -9,8 +11,12 @@ public class Rectangle extends Shape {
this.height = height;
}
@Override
public double area() {
return width * height;
}
// public void showInfo(){
// super.showInfo();
// System.out.println("(半径:" + this.area + ")");
// }
}

View File

@@ -1,14 +1,36 @@
public abstract class Shape {
private String name;
private String name; //フィールドname ・privateにしなきゃいけない
// public double area;
// public int radius;
public Shape() {
}
public Shape(String name) {
this.name = name;
this.name = name; //Circleが"円"を呼び出すための文字列をいれるところ
}
public abstract double area();
public abstract double area();{ //メソッドarea 引数なし・戻り値double 中身return0.0;
// return 0.0;
}
public void showInfo() {
// @Override
public void showInfo(){ //メソッドshowinfo 引数戻り値なし・中身はsyso
System.out.println(this.name + "の面積は" + this.area() + "です");
// System.out.println("(半径:" + this.radius + ")");
System.out.println("四角形" + "の面積は" + this.area() + "です。");
}
// @Override
// public void showInfo(){
//
// }
}

View File

@@ -1,27 +1,53 @@
public class Student {
//1-2
int studentId;
String name;
void printProfile() {
System.out.println("学籍番号:" + this.studentId + " 名前:" + this.name);
public class Student {//クラス新規作成
int studentId; //フィールドを宣言 int
String name; //String
static int studentCount = 0; //生徒が何人作られたかを数えるための、クラス全体で共有するフィールド
void printProfile() {//メソッドを宣言・以下の内容をsysoで出力
// for(int i = 0; i <= 3; i++) {
System.out.println("学籍番号:" + this.studentId + " 名前:" + this.name);
// }
// System.out.println("学籍番号:" + this.studentId + " 名前:" + this.name);
}
//1-2
//2-3
public Student(int studentId, String name) {
this.studentId = studentId;
public Student(int studentId, String name) { //コンストラクタを追加
this.studentId = studentId; //渡された引数をそれぞれ対応するフィールドに代入する
this.name = name;
}
static int studentCount = 0;
{
studentCount++;
}
static int getStudentCount() {
return studentCount;
public static int getStudentCount() {
// studentCount++;
return studentCount;
}
//2-3
}
// public static void main(String[] args) {
// Student s = new Student(1,"鈴木一郎");
// s.printProfile();
//
//
// public Student(int studentId, String name) {
// student.studentId = 1;