27 Commits

Author SHA1 Message Date
e1f7fc02f2 2日目の9段階目終了 2026-09-18 10:05:49 +09:00
60da179895 2日目の8段階目終了 2026-09-18 10:00:12 +09:00
5358280624 3日目の9段階目終了 2026-09-17 16:40:22 +09:00
989e8d7248 3日目の8段階目終了 2026-09-17 16:06:40 +09:00
928398cbc6 3日目の7段階目終了 2026-09-17 15:18:21 +09:00
59fd7f7ad3 3日目の6段階目終了 2026-09-17 14:57:00 +09:00
70b3359a0d 1日目段階9終了 2026-09-17 13:40:31 +09:00
e0c820be50 1日目の8段階目終わりました 2026-09-16 16:52:34 +09:00
1b541b05b5 1日目の7段階目終わりました 2026-09-16 16:22:27 +09:00
9abebd30aa 4段階目終わりました 2026-09-16 14:41:32 +09:00
85fc2596e5 3段階目終わりました 2026-09-16 13:53:02 +09:00
fd770903e4 2段階目終わりました 2026-09-16 13:48:36 +09:00
101991f33d 1段階目終わりました 2026-09-16 13:27:39 +09:00
6468a372ce 7段階目終わりました 2026-09-15 16:43:23 +09:00
782d0db2a9 6段階目終わりました 2026-09-15 16:21:10 +09:00
1158708741 5段階目終わりました 2026-09-15 16:10:54 +09:00
a76eb8d4a6 4段階目終わりました 2026-09-15 15:59:58 +09:00
623b7cc16a 3段階目終わりました 2026-09-15 15:46:57 +09:00
12f84a2a83 2段階目終わりました 2026-09-15 14:50:24 +09:00
2cc3a84a2d 1段階目終わりました 2026-09-15 14:30:41 +09:00
29cf120dbf 6段階目終わりました 2026-09-15 13:51:35 +09:00
e56a4c8bf9 5段階目終わりました 2026-09-15 13:07:00 +09:00
f8f6523954 4段階目終わりました 2026-09-14 16:54:20 +09:00
4ef8fca04f 3段階の追加問題終わりました 2026-09-14 16:41:41 +09:00
47cfdcf026 3段階目終わりました 2026-09-14 16:15:23 +09:00
04421c3a90 段階2終わりました 2026-09-14 15:22:18 +09:00
d694f1f22f 1段階目終わりました 2026-09-14 14:52:18 +09:00
20 changed files with 401 additions and 307 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>

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>

10
em-oop/src/BaseData.java Normal file
View File

@@ -0,0 +1,10 @@
public abstract class BaseData {
public abstract String toString();
public abstract String toCSV();
public abstract String getPrimaryKeyValue();
}

View File

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

View File

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

View File

@@ -1,53 +1,31 @@
public class BasicCheck3 {
public static void main(String[] args){
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[0].setName("ノート");
items[1].setName("消しゴム");
items[2].setName("鉛筆");
items[0].setPrice(120);
items[1].setPrice(80);
items[2].setPrice(60);
items[0].setStock(50);
items[1].setStock(30);
items[2].setStock(100);
for(int i = 0; i < items.length; 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].name+ "価格" + items[i].price +"在庫" + items[i].stock);
// System.out.println("価格" + items[i].price);
// System.out.println("在庫" + items[i].stock);
System.out.println(items[i].getName() + " " + items[i].getPrice() + "円 (残り" + items[i].getStock() + "個) ");
// System.out.println("合計金額 " + items[i].totalPrice() + "円");
// System.out.println();
}
// Item 0 = new Item("ノート", 120, 50);
}
}

View File

@@ -1,24 +1,22 @@
public class Book {
public String title;
public String author;
public int price;
//引数なしコンストラクタ
String title;
String author;
int price;
public Book() {
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;
}
}

View File

@@ -1,21 +1,20 @@
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 double area() { //Overrideは 子クラスで!
return Math.PI * radius * radius;
}
public void showInfo(){
super.showInfo();
System.out.println("(半径:" + this.radius + ")");
}
public class Circle extends 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 + ")");
}
}

View File

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

View File

@@ -1,21 +1,10 @@
public class Day3Check2 {
public static void main(String[] args) {
Rectangle rect = new Rectangle(3, 4);
rect.showInfo();
//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

@@ -1,15 +1,11 @@
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();
Shape shape2 = new Rectangle(3, 4);
shape2.showInfo();
}
}

View File

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

View File

@@ -1,21 +1,121 @@
public class EmployeeData {
public static void main(String args[]) {
String idEmployee;
String nmEmployee;
String knEmployee;
String mailAddress;
String password;
String idDepartment;
}
// public EmployeeData() {
// this.idEmployee = "";
// }
public class EmployeeData extends BaseData {
private String idEmployee;
private String nmEmployee;
private String knEmployee;
private String mailAddress;
private String password;
private String idDepartment;
public void showinfo() {
System.out.println();
private static int empCount = 0;
static int getempCount() {
return empCount;
}
}
public EmployeeData() {
empCount++;
}
static int getEmpCount() {
return empCount;
}
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 String getIdEmployee() {
return idEmployee;
}
public void setIdEmployee(String idEmployee) {
this.idEmployee = idEmployee;
if (idEmployee == null || idEmployee.strip().isEmpty()) {
System.out.println("社員IDが空のため設定できませんでした");
return;
}
}
public String getNmEmployee() {
return nmEmployee;
}
public void setNmEmployee(String nmEmployee) {
this.nmEmployee = nmEmployee;
if (nmEmployee == null || nmEmployee.strip().isEmpty()) {
System.out.println("社員名が空のため設定できませんでした");
return;
}
}
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;
}
@Override
public String toString() {
return (this.getIdEmployee() + "\t" + this.getNmEmployee() + "\t" + this.getKnEmployee() + "\t"
+ this.getMailAddress() + "\t" + this.getPassword() + "\t" + this.getIdDepartment());
}
@Override
public String toCSV() {
return getIdEmployee() + "," + getNmEmployee() + "," + getKnEmployee() + "," + getMailAddress() + ","
+ getPassword() + "," + getIdDepartment();
}
public String getPrimaryKeyValue() {
return getIdEmployee();
}
public boolean isMatchId(String id) {
if (id == null || this.idEmployee == null) {
return false;
}
return this.idEmployee.equals(id);
}
}

View File

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

View File

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

View File

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

View File

@@ -1,25 +1,130 @@
public class Main {
public static void main(String[] args) {
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);
System.out.println(idEmployee);
System.out.println(nmEmployee);
System.out.println(knEmployee);
System.out.println(mailAddress);
System.out.println(password);
System.out.println(idDepartment);
// while (true) {
// Scanner scanner = new Scanner(System.in);
// System.out.println("検索したい社員IDを入力してください(終了する場合は0)");
// String input = scanner.nextLine();
BaseData[] employees = new BaseData[5];
// BaseData employee = new EmployeeData("10000", "山田龍也", "ヤマダタツヤ", "yamada@hoge.jp", "aaa", "10");
BaseData[] allData = new BaseData[11];
//
allData[0] = new EmployeeData("10000", "山田龍也", "ヤマダタツヤ", "yamada@hoge.jp", "aaa", "10");
allData[1] = new EmployeeData("10001", "高橋準", "タカハシジュン", "jtaka@hoge.jp", "bbb", "10");
allData[2] = new EmployeeData("10002", "麻枝史明", "マエダフミアキ", "fmak@hoge.jp", "ccc", "11");
allData[3] = new EmployeeData("10003", "丸戸章介", "マルトショウスケ", "marusyo@hoge.jp", "ddd", "12");
allData[4] = new EmployeeData("10004", "三宅武", "ミタケタケシ", "miya@hoge.jp", "eee", "13");
allData[5] = new DepartmentData("10", "役員");
allData[6] = new DepartmentData("11", "人事・総務部");
allData[7] = new DepartmentData("12", "経理");
allData[8] = new DepartmentData("13", "システム開発事業部");
allData[9] = new DepartmentData("14", "教育事業部");
allData[10] = new DepartmentData("15", "営業企画部");
// String targetDeptId = "";
//
// for (int i = 0; i < allData.length; i++) {
//
// if (allData[i] instanceof DepartmentData) {
// DepartmentData dept = (DepartmentData) allData[i];
//
// if (dept.getNmDepartment().equals("システム開発事業部")) {
// targetDeptId = dept.getIdDepartment();
// break;
// }
// }
// }
//
// for (int i = 0; i < allData.length; i++) {
// if (allData[i] instanceof EmployeeData) {
// EmployeeData emp = (EmployeeData) allData[i];
// if (emp.getIdDepartment().equals(targetDeptId)) {
// System.out.println(emp.getNmEmployee() + "\t" + emp.getMailAddress());
// }
// }
// }
// int count = 0;
// int countt = 0;
// for (int i = 0; i < allData.length; i++) {
// if (allData[i] instanceof EmployeeData) {
// // count++;
// EmployeeData emp = (EmployeeData) allData[i];
//
// System.out.println(emp.getMailAddress());
// else if (allData[i] instanceof DepartmentData) {
// countt++;
// }
// System.out.println("社員のデータ:" + count + "件");
// System.out.println("部署のデータ:" + countt + "件");
// System.out.println(allData[i]);
// employees[0] = new EmployeeData("10000", "山田龍也", "ヤマダタツヤ", "yamada@hoge.jp", "aaa", "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");
// //
// for (int i = 0; i < employees.length; i++) {
// System.out.println(allData[i]);
// }
// System.out.println("現在の社員データ件数:" + EmployeeData.getEmpCount() + "件");
if (allData[0] instanceof EmployeeData) {
EmployeeData sampleEmp = (EmployeeData) allData[0];
sampleEmp.setNmEmployee("");
}
if (allData[0] instanceof EmployeeData) {
EmployeeData sampleEmp = (EmployeeData) allData[0];
sampleEmp.setIdEmployee("");
}
// String serchId1 = "10002";
// System.out.println(serchId1 + "を検索します");
// boolean bo = false;
// for (int i = 0; i < employees.length; i++) {
// if (((EmployeeData) employees[i]).isMatchId(serchId1)) {
// bo = true;
// break;
// }
//
// }
// System.out.println(bo);
// String serchId2 = "99999";
// System.out.println(serchId2 + "を検索します");
// boolean bl = false;
// for (int i = 0; i < employees.length; i++) {
// if (((EmployeeData) employees[i]).isMatchId(serchId2)) {
// bl = true;
// break;
// }
// }
// System.out.println(bl);
// boolean a = false;
// for (int i = 0; i < employees.length; i++) {
// if (((EmployeeData) employees[i]).isMatchId(input)) {
// a = true;
// System.out.println(employees[i]);
// break;
//
// }
// }
// if (!a) {
// System.out.println("該当する社員が見つかりませんでした");
// }
// if (input.equals("0")) {
// System.out.println("システムを終了します");
// break;
// }
// System.out.println(employee.toCSV());
// System.out.println(employee.getPrimaryKeyValue());
}
}

View File

@@ -1,9 +1,7 @@
public class Rectangle extends Shape {
private double width;
private double height; {
}
public class Rectangle extends Shape{
private double width;
private double height;
public Rectangle(double width, double height) {
super("四角形");
@@ -11,12 +9,9 @@ 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,36 +1,15 @@
public abstract class Shape {
private String name; //フィールドname ・privateにしなきゃいけない
// public double area;
// public int radius;
private String name;
public Shape() {
}
public Shape(String name) {
this.name = name; //Circleが"円"を呼び出すための文字列をいれるところ
this.name = name;
}
public abstract double area();{ //メソッドarea 引数なし・戻り値double 中身return0.0;
// return 0.0;
}
// @Override
public void showInfo(){ //メソッドshowinfo 引数戻り値なし・中身はsyso
public abstract double area();
public void showInfo() {
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,24 @@
public class Student {//クラス新規作成
int studentId; //フィールドを宣言 int
String name; //String
static int studentCount = 0; //生徒が何人作られたかを数えるための、クラス全体で共有するフィールド
void printProfile() {//メソッドを宣言・以下の内容をsysoで出力
public class Student {
int studentId;
String name;
static int studentCount = 0;
public void printProfile () {
System.out.println("学籍番号:" + this.studentId + " 名前:" + this.name);
// 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) { //コンストラクタを追加
this.studentId = studentId; //渡された引数をそれぞれ対応するフィールドに代入する
public Student(int studentId, String name) {
this.studentId = studentId;
this.name = name;
studentCount++;
}
public static int getStudentCount() {
// studentCount++;
static int getStudentCount() {
return studentCount;
}
}
// public static void main(String[] args) {
// Student s = new Student(1,"鈴木一郎");
// s.printProfile();
//
//
// public Student(int studentId, String name) {
// student.studentId = 1;