Compare commits
32 Commits
b3fd66606d
...
s-sakiyama
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c7b7a48681 | ||
|
|
b254050ce8 | ||
|
|
1bbc548980 | ||
|
|
ed98c7c338 | ||
|
|
0ac701ce98 | ||
|
|
08b99dc55b | ||
|
|
db8e199c9d | ||
|
|
f68bef8367 | ||
|
|
9c3605cf87 | ||
|
|
e8648e7d8b | ||
|
|
551f5a4fe2 | ||
|
|
03c7af9751 | ||
|
|
856eb9888a | ||
|
|
8fbfa99047 | ||
|
|
1c4b834578 | ||
|
|
b8aa7238f6 | ||
|
|
d88468306f | ||
|
|
968c5094a4 | ||
|
|
3b6b23c883 | ||
|
|
f143cf7ec2 | ||
|
|
b58fcecaa2 | ||
|
|
d98145e598 | ||
|
|
3d026db061 | ||
|
|
38620e220f | ||
|
|
d4b07b24bf | ||
|
|
066af8799d | ||
|
|
27685ac25f | ||
|
|
3e82879f22 | ||
|
|
769fb977ca | ||
|
|
04da447bfe | ||
|
|
25802b8380 | ||
|
|
be15630c5b |
@@ -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
1
.gitignore
vendored
@@ -25,4 +25,3 @@ hs_err_pid*
|
||||
replay_pid*
|
||||
|
||||
/.metadata/
|
||||
/bin/
|
||||
|
||||
17
.project
17
.project
@@ -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>
|
||||
6
em-oop/departments.csv
Normal file
6
em-oop/departments.csv
Normal file
@@ -0,0 +1,6 @@
|
||||
10,役員
|
||||
11,人事・総務部
|
||||
12,経理部
|
||||
13,システム開発事業部
|
||||
14,教育事業部
|
||||
15,営業企画部
|
||||
|
5
em-oop/employees.csv
Normal file
5
em-oop/employees.csv
Normal file
@@ -0,0 +1,5 @@
|
||||
10000,山田龍也,ヤマダタツヤ,yamada@hoge.jp,aaa,10
|
||||
10001,高橋準,タカハシジュン,jtaka@hoge.jp,bbb,10
|
||||
10002,麻枝史明,マエダフミアキ,fmak@hoge.jp,ccc,11
|
||||
10003,丸戸章介,マルトショウスケ,marusyo@hoge.jp,ddd,12
|
||||
10004,三宅武,ミヤケタケシ,miya@hoge.jp,eee,13
|
||||
|
7
em-oop/src/BaseData.java
Normal file
7
em-oop/src/BaseData.java
Normal file
@@ -0,0 +1,7 @@
|
||||
public abstract class BaseData {
|
||||
public abstract String toString();
|
||||
|
||||
public abstract String toCSV();
|
||||
|
||||
public abstract String getPrimaryKeyValue();
|
||||
}
|
||||
@@ -3,25 +3,27 @@ public class BasicCheck1 {
|
||||
|
||||
public static void main(String[] args) {
|
||||
// TODO 自動生成されたメソッド・スタブ
|
||||
Book book1 = new Book();
|
||||
book1.title = "タイトル未設定";
|
||||
book1.author ="著者未設定";
|
||||
book1.price = 0;
|
||||
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);
|
||||
|
||||
System.out.println();
|
||||
|
||||
//9/15段階1
|
||||
Book book1 = new Book();
|
||||
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);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
|
||||
public class BasicCheck2 {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Student student = new Student(1,"鈴木一郎");
|
||||
|
||||
student.studentId = 1;
|
||||
student.name = "鈴木一郎";
|
||||
|
||||
// System.out.print("学籍番号"+student.studentId);
|
||||
// System.out.print("名前:" + student.name);
|
||||
student.printProfile();
|
||||
|
||||
// TODO 自動生成されたメソッド・スタブ
|
||||
Student student1 = new Student(1, "鈴木一郎");
|
||||
Student student2 = new Student(2, "田中花子");
|
||||
Student student3 = new Student(3, "佐藤次郎");
|
||||
student1.printProfile();
|
||||
student2.printProfile();
|
||||
student3.printProfile();
|
||||
System.out.println("現在の生徒数:" + Student.getStudentCount() + "人");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,32 +3,23 @@ public class BasicCheck3 {
|
||||
|
||||
public static void main(String[] args) {
|
||||
// TODO 自動生成されたメソッド・スタブ
|
||||
|
||||
Item[] items = new Item[3];
|
||||
|
||||
items[0] = new Item();
|
||||
items[1] = new Item();
|
||||
items[2] = new Item();
|
||||
|
||||
for (int i = 0; i < items.length; i++) {
|
||||
items[i] = new Item();
|
||||
}
|
||||
items[0].setName("ノート");
|
||||
items[0].setPrice(120);
|
||||
items[0].setStock(50);
|
||||
|
||||
items[1].setName("消しゴム");
|
||||
items[1].setPrice(80);
|
||||
items[1].setStock(30);
|
||||
|
||||
items[2].setName("鉛筆");
|
||||
items[2].setPrice(60);
|
||||
items[2].setStock(100);
|
||||
|
||||
for (int i = 0; i < items.length; i++) {
|
||||
items[i].sell(5);
|
||||
}
|
||||
|
||||
for (int i = 0; i < items.length; i++) {
|
||||
System.out.println(items[i]);
|
||||
|
||||
for (Item i : items) {
|
||||
i.sell(5);
|
||||
System.out.println(i);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,15 +4,15 @@ public class Book {
|
||||
String author;
|
||||
int price;
|
||||
|
||||
//コンストラクタ
|
||||
public Book() {
|
||||
title = "タイトル未設定";
|
||||
author = "著者未設定";
|
||||
price = 0;
|
||||
|
||||
}
|
||||
|
||||
public Book(String title,String author,int price){
|
||||
|
||||
//引数ありコンストラクタ
|
||||
public Book(String title, String author, int price) {
|
||||
this.title = title;
|
||||
this.author = author;
|
||||
this.price = price;
|
||||
|
||||
22
em-oop/src/Circle.java
Normal file
22
em-oop/src/Circle.java
Normal file
@@ -0,0 +1,22 @@
|
||||
|
||||
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 + ")");
|
||||
}
|
||||
|
||||
}
|
||||
8
em-oop/src/Day3Check1.java
Normal file
8
em-oop/src/Day3Check1.java
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
public class Day3Check1 {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Circle circle = new Circle(2);
|
||||
circle.showInfo();
|
||||
}
|
||||
}
|
||||
14
em-oop/src/Day3Check2.java
Normal file
14
em-oop/src/Day3Check2.java
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
public class Day3Check2 {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Rectangle rectangle = new Rectangle(3, 4);
|
||||
rectangle.showInfo();
|
||||
Greeting jpGreeting = new JapaneseGreeting();
|
||||
System.out.println(jpGreeting.hello());
|
||||
LoudGreeting jpShout = new JapaneseGreeting();
|
||||
System.out.println(jpShout.shout());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
11
em-oop/src/Day3Check3.java
Normal file
11
em-oop/src/Day3Check3.java
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
public class Day3Check3 {
|
||||
public static void main(String[] args) {
|
||||
Shape shape1 = new Circle(2);
|
||||
shape1.showInfo();
|
||||
|
||||
Shape shape2 = new Rectangle(3, 4);
|
||||
shape2.showInfo();
|
||||
}
|
||||
|
||||
}
|
||||
48
em-oop/src/DepartmentData.java
Normal file
48
em-oop/src/DepartmentData.java
Normal file
@@ -0,0 +1,48 @@
|
||||
|
||||
public class DepartmentData extends BaseData {
|
||||
|
||||
private String idDepartment;
|
||||
private String nmDepartment;
|
||||
|
||||
public DepartmentData() {
|
||||
|
||||
}
|
||||
|
||||
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() {
|
||||
// TODO 自動生成されたメソッド・スタブ
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,23 +1,112 @@
|
||||
|
||||
public class EmployeeData {
|
||||
public class EmployeeData extends BaseData {
|
||||
private String idEmployee;
|
||||
private String nmEmployee;
|
||||
private String knEmployee;
|
||||
private String mailAddress;
|
||||
private String password;
|
||||
private String idDepartment;
|
||||
private static int empCount = 0;
|
||||
static final String COMPANY_NAME = "Rhizome";
|
||||
|
||||
String idEmployee;
|
||||
String nmEmployee;
|
||||
String knEmployee;
|
||||
String mailAddress;
|
||||
String password;
|
||||
String idDepartment;
|
||||
|
||||
void showInfo() {
|
||||
|
||||
System.out.println(
|
||||
this.idEmployee + "\t"
|
||||
+ this.nmEmployee + "\t"
|
||||
+ this.knEmployee + "\t"
|
||||
+ this.mailAddress + "\t"
|
||||
+ this.password + "\t"
|
||||
+ this.idDepartment
|
||||
);
|
||||
//コンストラクタ
|
||||
public EmployeeData() {
|
||||
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++;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.idEmployee + "\t" + this.nmEmployee
|
||||
+ "\t" + this.knEmployee + "\t" + this.mailAddress
|
||||
+ "\t" + this.password + "\t" + this.idDepartment;
|
||||
}
|
||||
|
||||
public String getIdEmployee() {
|
||||
return idEmployee;
|
||||
}
|
||||
|
||||
public void setIdEmployee(String idEmployee) {
|
||||
if (!check(idEmployee, "社員ID"))
|
||||
return;
|
||||
this.idEmployee = idEmployee;
|
||||
}
|
||||
|
||||
public String getNmEmployee() {
|
||||
return nmEmployee;
|
||||
}
|
||||
|
||||
public void setNmEmployee(String nmEmployee) {
|
||||
if (!check(nmEmployee, "社員名"))
|
||||
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;
|
||||
}
|
||||
|
||||
public String getIdDepartment() {
|
||||
return idDepartment;
|
||||
}
|
||||
|
||||
public void setIdDepartment(String idDepartment) {
|
||||
this.idDepartment = idDepartment;
|
||||
}
|
||||
|
||||
public static int getEmpCount() {
|
||||
return empCount;
|
||||
}
|
||||
|
||||
private boolean check(String str, String stringName) {
|
||||
if (str == null || str.strip().length() == 0) {
|
||||
System.out.println(stringName + "が空のため設定できませんでした");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toCSV() {
|
||||
return getIdEmployee() + "," + getNmEmployee() + "," + getKnEmployee() + ","
|
||||
+ getMailAddress() + "," + getPassword() + "," + getIdDepartment();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPrimaryKeyValue() {
|
||||
return this.idEmployee;
|
||||
}
|
||||
}
|
||||
|
||||
4
em-oop/src/Greeting.java
Normal file
4
em-oop/src/Greeting.java
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
public interface Greeting {
|
||||
String hello();
|
||||
}
|
||||
@@ -1,11 +1,21 @@
|
||||
|
||||
public class Item {
|
||||
|
||||
private String name;
|
||||
private int price;
|
||||
private int stock;
|
||||
|
||||
void sell(int amount) {
|
||||
this.setStock(this.getStock() - amount);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.getName() + " " + this.getPrice() + "円(残り" + this.getStock() + "個)";
|
||||
}
|
||||
|
||||
int totalPrice() {
|
||||
return this.price * this.stock;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
@@ -30,14 +40,4 @@ public class Item {
|
||||
public void setStock(int stock) {
|
||||
this.stock = stock;
|
||||
}
|
||||
|
||||
void sell(int amount) {
|
||||
this.setStock(this.getStock() - amount);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getName() + "" + getPrice() + "円(残り" + getStock() + "個)";
|
||||
}
|
||||
}
|
||||
14
em-oop/src/JapaneseGreeting.java
Normal file
14
em-oop/src/JapaneseGreeting.java
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
public class JapaneseGreeting implements Greeting, LoudGreeting {
|
||||
|
||||
@Override
|
||||
public String hello() {
|
||||
return "こんにちは";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String shout() {
|
||||
return "やっほー!";
|
||||
}
|
||||
|
||||
}
|
||||
4
em-oop/src/LoudGreeting.java
Normal file
4
em-oop/src/LoudGreeting.java
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
public interface LoudGreeting {
|
||||
String shout();
|
||||
}
|
||||
@@ -1,64 +1,258 @@
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.StandardOpenOption;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class Main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
// TODO 自動生成されたメソッド・スタブ
|
||||
ArrayList<BaseData> employees = new ArrayList<BaseData>();
|
||||
|
||||
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();
|
||||
|
||||
Employees[0].idEmployee = "10000";
|
||||
Employees[0].nmEmployee = "山田龍也";
|
||||
Employees[0].knEmployee = "ヤマダタツヤ";
|
||||
Employees[0].mailAddress = "yamada@hoge.jp";
|
||||
Employees[0].password = "aaa";
|
||||
Employees[0].idDepartment = "10";
|
||||
|
||||
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[2].idEmployee = "10002";
|
||||
Employees[2].nmEmployee = "麻枝史明";
|
||||
Employees[2].knEmployee = "マエダフミアキ";
|
||||
Employees[2].mailAddress = "fmak@hoge.jp";
|
||||
Employees[2].password = "ccc";
|
||||
Employees[2].idDepartment = "11";
|
||||
|
||||
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[4].idEmployee = "10004";
|
||||
Employees[4].nmEmployee = "三宅武";
|
||||
Employees[4].knEmployee = "ミヤケタケシ";
|
||||
Employees[4].mailAddress = "miya@hoge.jp";
|
||||
Employees[4].password = "eee";
|
||||
Employees[4].idDepartment = "13";
|
||||
|
||||
|
||||
// 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);
|
||||
|
||||
for (int i = 0; i < Employees.length; i++) {
|
||||
Employees[i].showInfo();
|
||||
System.out.println("システムを開始します\n");
|
||||
//検索
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
while (true) {
|
||||
employees = inportEmployeesCSV();
|
||||
System.out.println("1:検索 2:登録 3:更新 4:削除 0:終了");
|
||||
System.out.print(">>>>");
|
||||
String str = scanner.nextLine().strip();
|
||||
switch (str) {
|
||||
case "0":
|
||||
System.out.println("システムを終了します");
|
||||
return;
|
||||
case "1":
|
||||
System.out.println("1:全検索 2:条件検索 それ以外:戻る");
|
||||
System.out.print(">>>>");
|
||||
str = scanner.nextLine().strip();
|
||||
Display(str, employees);
|
||||
break;
|
||||
case "2":
|
||||
append();
|
||||
break;
|
||||
case "3":
|
||||
update(employees);
|
||||
break;
|
||||
case "4":
|
||||
delete(employees);
|
||||
break;
|
||||
default:
|
||||
System.out.println("指定の番号を入力してください");
|
||||
break;
|
||||
}
|
||||
System.out.println();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//削除
|
||||
private static void delete(ArrayList<BaseData> allData) {
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
ArrayList<String> dataList = new ArrayList<String>();
|
||||
Path path = Path.of("employees.csv");
|
||||
System.out.println("IDを入力してください");
|
||||
System.out.print(">>>>");
|
||||
String str = scanner.nextLine().strip();
|
||||
boolean matchFlag = false;
|
||||
|
||||
for (BaseData e : allData) {
|
||||
if (e.getPrimaryKeyValue().equals(str)) {
|
||||
matchFlag = true;
|
||||
} else {
|
||||
dataList.add(e.toCSV());
|
||||
}
|
||||
}
|
||||
if (!matchFlag) {
|
||||
System.out.println("入力された値で情報がみつかりませんでした");
|
||||
} else {
|
||||
|
||||
System.out.println("指定されたIDの情報を削除します? Y/y\n(Y/y以外の入力であればキャンセル)");
|
||||
System.out.print(">>>>");
|
||||
str = scanner.nextLine().strip();
|
||||
if (str.equalsIgnoreCase("y")) {
|
||||
try {
|
||||
Files.write(path, dataList);
|
||||
System.out.println("削除が完了しました");
|
||||
} catch (IOException e1) {
|
||||
// TODO 自動生成された catch ブロック
|
||||
e1.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
System.out.println("削除をキャンセルしました");
|
||||
}
|
||||
|
||||
}
|
||||
System.out.println();
|
||||
}
|
||||
|
||||
//更新
|
||||
private static void update(ArrayList<BaseData> allData) {
|
||||
//更新するファイルのパス
|
||||
Path path = Path.of("employees.csv");
|
||||
//ID以外の更新するデータの項目
|
||||
String[] appendData = { "社員名", "フリガナ", "メールアドレス", "パスワード", "部署ID" };
|
||||
boolean zeroCheck = true; //入力されたデータが空白かのチェック用変数
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
|
||||
System.out.println("IDを入力してください");
|
||||
System.out.print(">>>>");
|
||||
String str = scanner.nextLine().strip();
|
||||
boolean matchFlag = false;
|
||||
ArrayList<String> dataList = new ArrayList<String>();
|
||||
String content;
|
||||
for (BaseData e : allData) {
|
||||
content = e.toCSV();
|
||||
if (e.getPrimaryKeyValue().equals(str)) {
|
||||
|
||||
for (int i = 0; i < appendData.length; i++) {
|
||||
while (zeroCheck) {
|
||||
zeroCheck = false;
|
||||
System.out.println(appendData[i] + "を入力してください");
|
||||
System.out.print(">>>>");
|
||||
String scanString = scanner.nextLine().strip();
|
||||
|
||||
if (scanString == null || scanString.strip().length() == 0) {
|
||||
System.out.println(appendData[i] + "は入力必須です");
|
||||
zeroCheck = true;
|
||||
}
|
||||
str += ",";
|
||||
str += scanString;
|
||||
System.out.println();
|
||||
}
|
||||
zeroCheck = true;
|
||||
|
||||
}
|
||||
|
||||
matchFlag = true;
|
||||
content = str;
|
||||
}
|
||||
|
||||
dataList.add(content);
|
||||
}
|
||||
if (!matchFlag) {
|
||||
System.out.println("入力された値で情報がみつかりませんでした");
|
||||
} else {
|
||||
try {
|
||||
Files.write(path, dataList);
|
||||
System.out.println("更新が完了しました");
|
||||
} catch (IOException e1) {
|
||||
// TODO 自動生成された catch ブロック
|
||||
e1.printStackTrace();
|
||||
}
|
||||
}
|
||||
System.out.println();
|
||||
|
||||
}
|
||||
|
||||
private static void Display(String str, ArrayList<BaseData> data) {
|
||||
switch (str) {
|
||||
case "1":
|
||||
allDisplay(data);
|
||||
break;
|
||||
case "2":
|
||||
employeeSeach(data);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private static void allDisplay(ArrayList<BaseData> data) {
|
||||
|
||||
data.stream().forEach(d -> {
|
||||
System.out.println(d); //一覧表示
|
||||
});
|
||||
|
||||
System.out.println();
|
||||
}
|
||||
|
||||
//ID検索
|
||||
private static void employeeSeach(ArrayList<BaseData> allData) {
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
|
||||
System.out.println("検索したい社員IDを入力してください");
|
||||
System.out.print(">>>>");
|
||||
String str = scanner.nextLine().strip();
|
||||
boolean matchFlag = false;
|
||||
|
||||
for (BaseData e : allData) {
|
||||
if (e.getPrimaryKeyValue().equals(str)) {
|
||||
System.out.println(e);
|
||||
|
||||
matchFlag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!matchFlag) {
|
||||
System.out.println("入力された値で情報がみつかりませんでした");
|
||||
}
|
||||
System.out.println();
|
||||
|
||||
}
|
||||
|
||||
//書き込み ※社員IDが被っていても追加出来てしまう
|
||||
private static void append() {
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
String scanString;
|
||||
String str = "";
|
||||
String[] appendData = { "社員ID", "社員名", "フリガナ", "メールアドレス", "パスワード", "部署ID" };
|
||||
boolean zeroCheck = true;
|
||||
|
||||
for (int i = 0; i < appendData.length; i++) {
|
||||
while (zeroCheck) {
|
||||
zeroCheck = false;
|
||||
System.out.println(appendData[i] + "を入力してください");
|
||||
System.out.print(">>>>");
|
||||
scanString = scanner.nextLine().strip();
|
||||
|
||||
if (scanString == null || scanString.strip().length() == 0) {
|
||||
System.out.println(appendData[i] + "は入力必須です");
|
||||
zeroCheck = true;
|
||||
}
|
||||
|
||||
str += scanString;
|
||||
System.out.println();
|
||||
}
|
||||
if (i < appendData.length - 1)
|
||||
str += ",";
|
||||
zeroCheck = true;
|
||||
|
||||
}
|
||||
|
||||
Path path = Path.of("employees.csv");
|
||||
try {
|
||||
Files.writeString(path, str + "\n", StandardOpenOption.APPEND);
|
||||
} catch (IOException e) {
|
||||
// TODO 自動生成された catch ブロック
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
//社員CSVの読み込み
|
||||
private static ArrayList<BaseData> inportEmployeesCSV() {
|
||||
final String employeesCSVPath = "employees.csv";
|
||||
ArrayList<BaseData> employees = new ArrayList<BaseData>();
|
||||
|
||||
Path pathEmp = Path.of(employeesCSVPath);
|
||||
ArrayList<String> content = new ArrayList<String>();
|
||||
try {
|
||||
// content = Files.readString(path);
|
||||
content = (ArrayList<String>) (Files.readAllLines(pathEmp));
|
||||
} catch (IOException e) {
|
||||
// TODO 自動 生成された catch ブロック
|
||||
e.printStackTrace();
|
||||
}
|
||||
content.stream().forEach(data -> {
|
||||
|
||||
ArrayList<String> content2 = new ArrayList<String>(Arrays.asList(data.split(",")));
|
||||
employees.add(
|
||||
new EmployeeData(content2.get(0), content2.get(1), content2.get(2), content2.get(3),
|
||||
content2.get(4), content2.get(5)));
|
||||
});
|
||||
return employees;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
18
em-oop/src/Rectangle.java
Normal file
18
em-oop/src/Rectangle.java
Normal file
@@ -0,0 +1,18 @@
|
||||
|
||||
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() {
|
||||
return width * height;
|
||||
}
|
||||
|
||||
}
|
||||
14
em-oop/src/Shape.java
Normal file
14
em-oop/src/Shape.java
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
public abstract class Shape {
|
||||
private String name;
|
||||
|
||||
public Shape(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public abstract double area();
|
||||
|
||||
public void showInfo() {
|
||||
System.out.println(this.name + "の面積は" + this.area() + "です");
|
||||
}
|
||||
}
|
||||
@@ -2,22 +2,19 @@
|
||||
public class Student {
|
||||
int studentId;
|
||||
String name;
|
||||
static int studentCount = 0;
|
||||
|
||||
void printProfile() {
|
||||
System.out.println("学籍番号:" + this.studentId + " 名前:" + this.name);
|
||||
}
|
||||
|
||||
public Student(int studentId, String name) {
|
||||
this.studentId = studentId;
|
||||
this.name = name;
|
||||
|
||||
studentCount++;
|
||||
}
|
||||
|
||||
public void printProfile() {
|
||||
System.out.println("学籍番号:" + this.studentId + " 名前:" + this.name);
|
||||
public static int getStudentCount() {
|
||||
return studentCount;
|
||||
}
|
||||
//public static void main(String[] args) {
|
||||
//Student s = new Student(1,"鈴木一郎");
|
||||
//s.printProfile();
|
||||
|
||||
//}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
202
em-oop/src/Sub.java
Normal file
202
em-oop/src/Sub.java
Normal file
@@ -0,0 +1,202 @@
|
||||
import java.util.Scanner;
|
||||
|
||||
public class Sub {
|
||||
public static void main(String[] args) {
|
||||
System.out.println("会社名:" + EmployeeData.COMPANY_NAME);
|
||||
|
||||
BaseData employee = new EmployeeData("10000", "山田龍也", "ヤマダタツヤ",
|
||||
"yamada@hoge.jp", "aaa", "10");
|
||||
System.out.println(employee.toCSV());
|
||||
System.out.println(employee.getPrimaryKeyValue());
|
||||
|
||||
System.out.println();
|
||||
|
||||
BaseData[] employees = new BaseData[5];
|
||||
|
||||
//setterがBaseData.javaにはないためコンストラクタで代入
|
||||
// for (int i = 0; i < employees.length; i++) {
|
||||
// employees[i] = new EmployeeData();
|
||||
// }
|
||||
//
|
||||
// employees[0].setIdEmployee("10000");
|
||||
// employees[0].setNmEmployee("山田龍也");
|
||||
// employees[0].setKnEmployee("ヤマダタツヤ");
|
||||
// employees[0].setMailAddress("yamada@hoge.jp");
|
||||
// employees[0].setPassword("aaa");
|
||||
// employees[0].setIdDepartment("10");
|
||||
//
|
||||
// employees[1].setIdEmployee("10001");
|
||||
// employees[1].setNmEmployee("高橋準\t");
|
||||
// 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("三宅武\t");
|
||||
// employees[4].setKnEmployee("ミヤケタケシ");
|
||||
// employees[4].setMailAddress("miya@hoge.jp");
|
||||
// employees[4].setPassword("eee");
|
||||
// employees[4].setIdDepartment("13");
|
||||
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 (BaseData e : employees) {
|
||||
System.out.println(e);
|
||||
}
|
||||
System.out.println("現在の社員のデータ件数:" + EmployeeData.getEmpCount() + "件");
|
||||
|
||||
System.out.println();
|
||||
|
||||
//社員データ+部署データ
|
||||
BaseData[] allData = new BaseData[11];
|
||||
for (int i = 0; i < employees.length; i++) {
|
||||
allData[i] = employees[i];
|
||||
|
||||
}
|
||||
DepartmentData[] dept = new DepartmentData[6];
|
||||
for (int i = 0; i < dept.length; i++) {
|
||||
dept[i] = new DepartmentData();
|
||||
}
|
||||
dept[0].setIdDepartment("10");
|
||||
dept[0].setNmDepartment("役員");
|
||||
allData[5] = dept[0];
|
||||
dept[1].setIdDepartment("11");
|
||||
dept[1].setNmDepartment("人事・総務部");
|
||||
allData[6] = dept[1];
|
||||
dept[2].setIdDepartment("12");
|
||||
dept[2].setNmDepartment("経理部");
|
||||
allData[7] = dept[2];
|
||||
dept[3].setIdDepartment("13");
|
||||
dept[3].setNmDepartment("システム開発事業部");
|
||||
allData[8] = dept[3];
|
||||
dept[4].setIdDepartment("14");
|
||||
dept[4].setNmDepartment("教育事業部");
|
||||
allData[9] = dept[4];
|
||||
dept[5].setIdDepartment("15");
|
||||
dept[5].setNmDepartment("営業企画部");
|
||||
allData[10] = dept[5];
|
||||
|
||||
int employeeCount = 0;
|
||||
int deptCount = 0;
|
||||
for (BaseData data : allData) {
|
||||
System.out.println(data);
|
||||
if (data instanceof EmployeeData) {
|
||||
employeeCount++;
|
||||
} else if (data instanceof DepartmentData) {
|
||||
deptCount++;
|
||||
}
|
||||
}
|
||||
System.out.println("社員データ:" + employeeCount + "件\n部署データ:" + deptCount + "件");
|
||||
System.out.println();
|
||||
|
||||
System.out.println("メールアドレス表示");
|
||||
for (BaseData data : allData) {
|
||||
if (data instanceof EmployeeData) {
|
||||
System.out.println(((EmployeeData) data).getMailAddress());
|
||||
}
|
||||
}
|
||||
|
||||
System.out.println();
|
||||
|
||||
//nullおよび前後の空白を取り除いた結果が空文字チェック
|
||||
BaseData emp = new EmployeeData("10000", "デフォルト", "ヤマダタツヤ", "yamada@hoge.jp", "aaa", "10");
|
||||
System.out.println(emp);
|
||||
((EmployeeData) emp).setNmEmployee(null);
|
||||
System.out.println(emp);
|
||||
((EmployeeData) emp).setNmEmployee(" ");
|
||||
System.out.println(emp);
|
||||
|
||||
System.out.println();
|
||||
|
||||
System.out.println("コンストラクタに全てから文字で");
|
||||
BaseData emptyEmployee = new EmployeeData("", "", "", "", "", "");
|
||||
System.out.println(emptyEmployee);
|
||||
|
||||
System.out.println();
|
||||
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
|
||||
while (true) {
|
||||
System.out.println("検索したい部署名を入力してください(終了する場合は0)");
|
||||
System.out.print(">>>>");
|
||||
String searchDeptNm = scanner.nextLine();
|
||||
String searchDeptId = "";
|
||||
if (endChack(searchDeptNm))
|
||||
break;
|
||||
for (BaseData data : allData) {
|
||||
if (data instanceof DepartmentData) {
|
||||
if (((DepartmentData) data).getNmDepartment().equals(searchDeptNm)) {
|
||||
searchDeptId = ((DepartmentData) data).getIdDepartment();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (searchDeptId.equals("")) {
|
||||
System.out.println("該当する部署が見つかりませんでした");
|
||||
continue;
|
||||
}
|
||||
for (BaseData data : allData) {
|
||||
if (data instanceof EmployeeData) {
|
||||
if (((EmployeeData) data).getIdDepartment().equals(searchDeptId)) {
|
||||
System.out.println(
|
||||
((EmployeeData) data).getNmEmployee() + "\t" + ((EmployeeData) data).getMailAddress());
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.println();
|
||||
}
|
||||
|
||||
while (true) {
|
||||
System.out.println("検索したい社員IDを入力してください(終了する場合は0)");
|
||||
System.out.print(">>>>");
|
||||
String findId = scanner.nextLine();
|
||||
if (endChack(findId))
|
||||
break;
|
||||
boolean matchFlag = false;
|
||||
|
||||
for (BaseData e : employees) {
|
||||
if (e.getPrimaryKeyValue().equals(findId)) {
|
||||
System.out.println(e);
|
||||
matchFlag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!matchFlag) {
|
||||
System.out.println("該当する社員が見つかりませんでした");
|
||||
}
|
||||
System.out.println();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static boolean endChack(String input) {
|
||||
if (input.equals("0")) {
|
||||
System.out.println("システムを終了します");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user