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
21 changed files with 305 additions and 340 deletions

1
.gitignore vendored
View File

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

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

2
em-oop/.gitignore vendored
View File

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

View File

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

View File

@@ -1,9 +0,0 @@
public abstract class BaseData {
//抽象メソッドを宣言
public abstract String toString();
public abstract String toCSV();
public abstract String getPrimaryKeyValue();
}

View File

@@ -2,21 +2,23 @@
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.title = "吾輩は猫である";
// book.author ="夏目漱石"; // book.author ="夏目漱石";
// book.price = 800; // 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);
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);
} }

View File

@@ -1,21 +1,37 @@
public class BasicCheck2 { public class BasicCheck2 {
public static void main(String[] args) { public static void main(String[] args) {
//変数宣言
Student students = new Student();
//代入
//student.studentId = 1;
//student.name = "鈴木一郎";
//student.printProfile();
Student students1 = new Student(1, "鈴木一郎"); // Student student = new Student(3,"a");
Student students2 = new Student(2, "田中花子"); //Student型のstudentを宣言、インスタンスを代入する
Student students3 = new Student(3, "佐藤次郎"); Student student1 = new Student(1,"鈴木一郎");
Student student2 = new Student(2, "田中花子");
Student student3 = new Student(3,"佐藤次郎");
students1.printProfile();
students2.printProfile();
students3.printProfile();
System.out.println("現在の生徒数:" + Student.getstudentCount() + "人"); // 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

@@ -2,35 +2,52 @@
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(120); items[0].setPrice(80);
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(80); items[1].setPrice(120);
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++) {
for(int i = 0; i < items.length; i++ )
{
items[i].sell(5); items[i].sell(5);
} }
//3件出力
for (int i = 0; i <= 2 ; i++) { 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,21 +1,24 @@
public class Book { public class Book {
String title; public String title;
String author; public String author;
int price; public int price;
//コンストラクタ生成 //引数なしコンストラクタ
public Book() { public Book() {
System.out.println( "タイトル未設定"); this.title = "タイトル未設定";
System.out.println( "著者未設定"); this.author = "著者未設定";
System.out.println( "0"); this.price = 0;
// System.out.println("コンストラクタが呼び出されました");
} }
//3つの引数を持つコンストラクタ生成 //引数ありコンストラクタ
public Book(String title, String author, int price) { public Book(String title, String author, int price) {
System.out.println(this.title = title); // System.out.println("引数なしのコンストラクタが呼び出されました");
System.out.println(this.author = author); this.title = title;
System.out.println(this.price = price); this.author = author;
this.price = price;
} }
} }

View File

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

View File

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

View File

@@ -1,17 +1,22 @@
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,17 +1,15 @@
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); Shape shape2 = new Rectangle(3, 4);
//メソッド呼び出し //四角形の情報を表示
shape2.showInfo(); shape2.showInfo();
}
} }
}

View File

@@ -1,113 +1,23 @@
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 String getIdEmployee() { public class EmployeeData {
return idEmployee; // public static void main(String args[]) {
}
public void setIdEmployee(String idEmployee) { String idEmployee ;
this.idEmployee = idEmployee; String nmEmployee ;
} String knEmployee ;
String mailAddress ;
String password ;
String idDepartment ;
public String getNmEmployee() {
return nmEmployee;
}
public void setNmEmployee(String nmEmployee) { // public String Employee(String idEmployee) {
this.nmEmployee = nmEmployee; // this.idEmployee= idEmployee;
} // }
public String getKnEmployee() { public void showinfo() {
return knEmployee; // this.idEmployee = idEmployee;
} System.out.println(this.idEmployee + "\t" + this.nmEmployee+ "\t" + this.knEmployee + "\t"+ this.mailAddress+ "\t" + this.password + "\t"+ this.idDepartment );
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,3 +1,4 @@
public interface Greeting { public interface Greeting {
String hello(); String hello();
} }

View File

@@ -1,33 +1,31 @@
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;
} }
public void setName(String name) { //nameを設定するsetter
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;
} }
@@ -35,8 +33,22 @@ 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,7 +1,13 @@
//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,55 +1,35 @@
import java.util.Scanner;
public class Main { public class Main {
public static void main(String[] args) { public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ EmployeeData employee = new EmployeeData() ;
//インスタンス宣言 String idEmployee = "10000";
BaseData employee = new EmployeeData(); String nmEmployee = "山田龍也";
//配列5件分 String knEmployee = "ヤマダタツヤ";
BaseData[] employees = new BaseData[5]; String mailAddress = "yamada@hoge.jp";
//5段階目書き換え String password = "aaa";
employees[0] = new EmployeeData("10000", "山田龍也", "ヤマダタツヤ", "yamada@hoge.jp", "aaa", "10"); String idDepartment = "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");
//5段階目記載の処理呼び出し employee.idEmployee = "1000";
//employee.showInfo(); employee.nmEmployee = "山田龍也";
employee.knEmployee = "ヤマダタツヤ";
employee.mailAddress ="yamada@hoge.jp";
employee.password = "aaa";
employee.idDepartment ="10";
employee.showinfo();
// 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);
//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,20 +1,22 @@
public class Rectangle extends Shape { public class Rectangle extends Shape {
//フィールド
private double width; private double width;
private double height; 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,18 +1,36 @@
public abstract class Shape { public abstract class Shape {
//フィールド宣言
private String name;
//コンストラクタ private String name; //フィールドname ・privateにしなきゃいけない
// public double area;
// public int radius;
public Shape() {
}
public Shape(String name) { public Shape(String name) {
this.name = name; this.name = name; //Circleが"円"を呼び出すための文字列をいれるところ
} }
//メソッド1(抽象メソッド) public abstract double area();{ //メソッドarea 引数なし・戻り値double 中身return0.0;
public abstract double area(); // return 0.0;
}
//メソッド2 // @Override
void showInfo() {
public void showInfo(){ //メソッドshowinfo 引数戻り値なし・中身はsyso
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,29 +1,53 @@
public class Student { public class Student {//クラス新規作成
//フィールド宣言
int studentId;
String name;
//フィールド追加
static int studentCount = 0;
//メソッド宣言 int studentId; //フィールドを宣言 int
void printProfile() { 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);
// }
// 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() { public static int getStudentCount() {
// studentCount++;
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;