20 Commits

Author SHA1 Message Date
m-endo
3cfaa1442d Day3、5段階目完了 2026-09-24 15:32:17 +09:00
m-endo
d4d3422897 Day1、9段階目完了 2026-09-24 14:12:03 +09:00
m-endo
1777d45dd1 Day1、8段回目完了 2026-09-24 13:30:29 +09:00
m-endo
b55cbe7128 Day1、7段階目完了 2026-09-18 16:28:48 +09:00
m-endo
271bb746d8 Day3,4段階目完了 2026-09-18 15:18:22 +09:00
m-endo
0c5fa9f2f1 Day3、3段階目完了 2026-09-18 14:14:26 +09:00
m-endo
cc5ae0b0b8 Day3、2段階目完了 2026-09-18 14:08:32 +09:00
m-endo
2fe57b16c1 Day2、6段階目完了 2026-09-18 12:46:26 +09:00
m-endo
c51b46691c Day2、5段階目完了 2026-09-18 11:27:46 +09:00
m-endo
6489946460 Day2、4段階目完了 2026-09-18 11:02:20 +09:00
m-endo
c7a73431b1 Day2、3段階目完了 2026-09-17 15:08:34 +09:00
m-endo
bec44823e1 Day1、5段階目完了 2026-09-17 13:38:24 +09:00
m-endo
922e9cb829 Day1、4段階目完了 2026-09-17 13:28:26 +09:00
m-endo
909322f244 Day31段階目完了 2026-09-16 14:00:12 +09:00
m-endo
9c55517492 Day2第2段階完了 2026-09-15 15:58:16 +09:00
m-endo
6331059990 Day1第3段階完了 2026-09-15 15:27:33 +09:00
m-endo
01b47fa684 Day2第一段階完了 2026-09-15 13:22:22 +09:00
m-endo
4ac32d9a18 3段階目途中 2026-09-14 16:49:59 +09:00
m-endo
55f693acce 2段階目完了 2026-09-14 16:13:11 +09:00
m-endo
29c3693c68 1段階目完了 2026-09-14 14:50:43 +09:00
21 changed files with 339 additions and 291 deletions

1
.gitignore vendored
View File

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

6
em-oop/.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="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

2
em-oop/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
/bin/
/.metadata/

17
em-oop/.project Normal file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>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 @@
public abstract class BaseData {
//抽象メソッドを宣言
public abstract String toString();
public abstract String toCSV();
public abstract String getPrimaryKeyValue();
}

View File

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

View File

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

View File

@@ -1,53 +1,36 @@
public class BasicCheck3 { public class BasicCheck3 {
public static void main(String[] args){ public static void main(String[] args) {
//配列3件分
Item[] items = new Item[3]; Item[] items = new Item[3];
//newインスタンス代入
items[0] = new Item(); items[0] = new Item();
items[0].setName("ノート"); items[0].setName("ノート");
items[0].setPrice(80); items[0].setPrice(120);
items[0].setStock(50); items[0].setStock(50);
items[1] = new Item(); items[1] = new Item();
items[1].setName("ノート"); items[1].setName("消しゴム");
items[1].setPrice(120); items[1].setPrice(80);
items[1].setStock(30); items[1].setStock (30);
items[2] = new Item(); 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文残り数の引き算
for (int i = 0; i <= 2 ; i++) {
items[i].sell(5);
}
//3件出力
for (int i = 0; i <= 2 ; i++) {
for(int i = 0; i < items.length; i++ )
{
items[i].sell(5);
}
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]);
// System.out.println("商品名" + items[i].name+ "価格" + items[i].price +"在庫" + items[i].stock);
// System.out.println("価格" + items[i].price);
// System.out.println("在庫" + items[i].stock);
}
// Item 0 = new Item("ノート", 120, 50);
} }
}
} }

View File

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

View File

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

View File

@@ -2,13 +2,9 @@
public class Day3Check1 { public class Day3Check1 {
public static void main(String[] args) { public static void main(String[] args) {
//インスタンス
Circle circle = new Circle(2); Circle circle = new Circle(2.0);
circle.area(); circle.showInfo();
circle.showInfo();
// Rectangle rectangle = new Rectangle(2);
// rectangle.area();
} }
} }

View File

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

View File

@@ -1,15 +1,17 @@
public class Day3Check3 { public class Day3Check3 {
public static void main(String[] args) { public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
//Shape型の変数にCircleのインスタンスを代入 //インスタンスを代入
Shape shape1 = new Circle(2); Shape shape1 = new Circle(2);
//円の情報を表示 //メソッド呼び出し
shape1.showInfo(); shape1.showInfo();
//Shape型の変数にRectangleのインスタンスを代入
Shape shape2 = new Rectangle(3, 4);
//四角形の情報を表示
shape2.showInfo();
//インスタンスを代入
Shape shape2 = new Rectangle(3, 4);
//メソッド呼び出し
shape2.showInfo();
} }
} }

View File

@@ -1,21 +1,113 @@
public class EmployeeData extends BaseData {
//フィールド宣言
private String idEmployee;//社員ID
private String nmEmployee;//社員名
private String knEmployee;//社員カナ
private String mailAddress;//メールアドレス
private String password;//パスワード
private String idDepartment;//部署ID
public class EmployeeData { public String getIdEmployee() {
public static void main(String args[]) { return idEmployee;
String idEmployee;
String nmEmployee;
String knEmployee;
String mailAddress;
String password;
String idDepartment;
} }
// public EmployeeData() {
// this.idEmployee = "";
// }
public void showinfo() { public void setIdEmployee(String idEmployee) {
System.out.println(); this.idEmployee = idEmployee;
}
public String getNmEmployee() {
return nmEmployee;
}
public void setNmEmployee(String nmEmployee) {
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;
}
//メソッド追加
void showInfo() {
System.out.println(getIdEmployee());
System.out.println(getNmEmployee());
System.out.println(getKnEmployee());
System.out.println(getMailAddress());
System.out.println(getPassword());
System.out.println(getIdDepartment());
}
//上記メソッドの書き換え
@Override
public String toString() {
return getIdEmployee() + "\t"+
getNmEmployee() + "\t"+
getKnEmployee() + "\t"+
getMailAddress() + "\t"+
getPassword() + "\t"+
getIdDepartment();
} }
//コンストラクタ追加(引数なし)
public EmployeeData() {
}
//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);
}
//メソッド2つ追加
@Override
public String toCSV() {
return getIdEmployee() + "," + getNmEmployee() + "," + getKnEmployee() + "," + getMailAddress() + ","
+ getPassword() + "," + getIdDepartment();
}
@Override
public String getPrimaryKeyValue() {
return this.idEmployee;
}
//メソッド追加、7段目
public boolean isMatchID(String id) {
return idEmployee.equals(id);
}
} }

View File

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

View File

@@ -1,31 +1,33 @@
public class Item { public class Item {
//フィールドを宣言・外から触れないようにprivate //フィールド宣言
private String name; private String name;
private int price; private int price;
private int stock; private int stock;
//nameを取得するgetter //メソッド宣言
void sell(int amount) {
this.setStock(this.getStock() - amount);
}
//ゲッター、セッター設定
public String getName() { public String getName() {
return name; return name;
} }
//nameを設定するsetter public void setName(String name) {
public void setName(String name) { //item="ノート"はもう使えない。item[0].setName("ノート")にしている
this.name = name; this.name = name;
} }
//priceを取得するgetter
public int getPrice() { public int getPrice() {
return price; return price;
} }
//priceを設定するsetter
public void setPrice(int price) { public void setPrice(int price) {
this.price = price; this.price = price;
} }
//stockを取得するgetter
public int getStock() { public int getStock() {
return stock; return stock;
} }
@@ -33,22 +35,8 @@ public class Item {
public void setStock(int stock) { public void setStock(int stock) {
this.stock = stock; this.stock = stock;
} }
// 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 @Override
public String toString() { public String toString() {
return getName() + "" + getPrice() + "円(残り" + getStock() + "個)"; return getName() + " " + getPrice() + "円 (残り" + getStock() + "個)";
} }
}
}

View File

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

View File

@@ -1,25 +1,55 @@
import java.util.Scanner;
public class Main { public class Main {
public static void main(String[] args) { public static void main(String[] args) {
EmployeeData employee = new EmployeeData() ; // TODO 自動生成されたメソッド・スタブ
String idEmployee = "10000"; //インスタンス宣言
String nmEmployee = "山田龍也"; BaseData employee = new EmployeeData();
String knEmployee = "ヤマダタツヤ"; //配列5件分
String mailAddress = "yamada@hoge.jp"; BaseData[] employees = new BaseData[5];
String password = "aaa"; //5段階目書き換え
String idDepartment = "10"; employees[0] = new EmployeeData("10000", "山田龍也", "ヤマダタツヤ", "yamada@hoge.jp", "aaa", "10");
employees[1] = new EmployeeData("10001", "高橋準", "タカハシジュン", "jtaka@hoge.jp", "bbb", "10");
// System.out.println(employee); employees[2] = new EmployeeData("10002", "麻枝文明", "マエダフミアキ", "fmak@hoge.jp", "ccc", "11");
System.out.println(idEmployee); employees[3] = new EmployeeData("10003", "丸戸章介", "マルトショウスケ", "marusyo@hoge.jp", "ddd", "12");
System.out.println(nmEmployee); employees[4] = new EmployeeData("10004", "三宅武", "ミヤケタケシ", "miya@hoge.jp", "eee", "13");
System.out.println(knEmployee);
System.out.println(mailAddress); //5段階目記載の処理呼び出し
System.out.println(password); //employee.showInfo();
System.out.println(idDepartment);
//Day1、8段階目検索
while (true) {
Scanner sc = new Scanner(System.in);//インスタンス化
System.out.println("検索したい社員IDを入力してください(終了する場合は0を入力)");
String id = sc.next();
if (id.equals("0")) {
System.out.println("システムを終了します");
break;
}
//boolean変数作成
boolean result = false;
//該当の場合
for (int i = 0; i < employees.length; i++) {
if (employees[i].getPrimaryKeyValue().equals(id)) {
result = true;
System.out.println(employees[i]);
break;
}
}
if (result == false) {
System.out.println("該当する社員が見つかりませんでした(終了する場合は0を入力)");
}
}
//for文
//for (int i = 0; i < employees.length; i++) {
//System.out.println(employees[i]);
//System.out.println(employees[i].toCSV());
//System.out.println(employees[i].getPrimaryKeyValue());
//employees[i].showInfo();を上記に書き換え
} }
} }

View File

@@ -1,22 +1,20 @@
public class Rectangle extends Shape { public class Rectangle extends Shape {
private double width; //フィールド
private double height; { private double width;
private double height;
}
//コンストラクタ
public Rectangle(double width, double height) { public Rectangle(double width, double height) {
super("四角形"); super("四角形");
this.width = width; this.width = width;
this.height = height; this.height = height;
} }
//抽象メソッドのオーバーライド
@Override
public double area() { public double area() {
return width * height; return width * height;
} }
// public void showInfo(){
// super.showInfo();
// System.out.println("(半径:" + this.area + ")");
// }
} }

View File

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

View File

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