- Class Diagram
κ°λ¨νκ² ν΄λμ€ λ€μ΄μ΄κ·Έλ¨μ μμ±ν΄λ³΄μλ€. μμμ λν νμ΄νλ μ νν μκ² λλ° λ€λ₯Έ νλ¦μ μ΄λ»κ² νμ΄νλ‘ νννλμ§λ λ 곡λΆν΄λ΄μΌκ² λ€.
(μμ +μ -λ public μΈμ§ private μΈμ§ ꡬλ³)
- MainClass
switchλ¬Έμ μ΄μ©ν΄ λ©λ΄λ₯Ό λ§λ€μ΄λμλ€.
package main;
import java.io.IOException;
import java.util.Scanner;
import dao.DaoClass;
import dto.HumanDto;
public class MainClass {
public static void main(String[] args) throws IOException {
// HumanDto playerArr[] = new HumanDto[2];
DaoClass dao = new DaoClass();
boolean exit = true;
dao.newFile();
while(exit) {
Scanner sc = new Scanner(System.in);
System.out.println("\n[μΌκ΅¬ μ μ μ 보 κ΄λ¦¬ νλ‘κ·Έλ¨]");
System.out.println("1.μ μ μΆκ°");
System.out.println("2.μ μ μμ ");
System.out.println("3.μ μ κ²μ");
System.out.println("4.μ μ μμ ");
System.out.println("5.μ μ₯");
System.out.println("6.λ±λ²νΈμ μ λ ¬");
System.out.println("7.μ μ μ 체μΆλ ₯");
System.out.println("8.μ’
λ£");
System.out.print("μ€νν μμ
μ μ νν΄μ£ΌμΈμ. : ");
int menuNum = sc.nextInt();
switch (menuNum) {
case 1:
dao.insert();
break;
case 2:
dao.delete();
break;
case 3:
dao.select();
break;
case 4:
dao.update();
break;
case 5:
dao.fileWriter();
break;
case 6:
dao.sorting();
dao.swap();
break;
case 7:
dao.allprint();
break;
case 8:
exit = false;
break;
default:
break;
}
}
System.out.println("νλ‘κ·Έλ¨μ μ’
λ£ν©λλ€.");
}
}
- DaoClass
insert λ©μλμ swap λ©μλ μμ±ν λ ν€λ§€μλ€.
insert μμ±μλ ifλ¬Έ μμ μμDto ν΄λμ€λ₯Ό ν λΉνλ©΄μ μμ λΆλͺ¨Dto ν΄λμ€λ κ°μ΄ ν λΉνλλ° κ²°κ³Όλ₯Ό 보λ 2λ² ν λΉμ΄ λλ©΄μ λ¨Όμ ν λΉμν¨ λΆλͺ¨Dto μΈμ€ν΄μ€ κ°λ€μ΄ nullλ‘ λμλ€.. κ·Έλμ ifλ¬Έμ΄ λλ λ€ λΆλͺ¨Dtoκ°μ setterλ‘ νλμ© κ°μ λ£μ΄μ£Όμλλ μλμ΄ λμλ€.
swapμλ μ΄μ€ forλ¬Έμμ jκ°μ΄ μμλλ λΆλΆμ i+1λ‘ μ€μ νμ§ μμλ€κ° κ³ μμ νλ€.. iκ°λ³΄λ€ νμ ν μΈλ±μ€ λ€μμ λΆν° μ€μμ΄ μ΄λ£¨μ΄μ§λ€λ κ²μ λͺ μ¬νμ.
package dao;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;
import dto.BatterDto;
import dto.HumanDto;
import dto.PitcherDto;
public class DaoClass {
Scanner sc = new Scanner(System.in);
private HumanDto playerArr[] = new HumanDto [30];
private int indexCount;
private boolean upDown = false;
public DaoClass() {
indexCount = 0;
}
//μΆκ°
public void insert() {
System.out.print("ν¬μ(1)/νμ(2)");
int t = sc.nextInt();
String position = (t == 1)?"ν¬μ":"νμ";
System.out.print("λ±λλ² : ");
int number = sc.nextInt();
System.out.print("μ μ μ΄λ¦ : ");
String name = sc.next();
System.out.print("μ μ λμ΄ : ");
int age = sc.nextInt();
System.out.print("μ μ ν€ : ");
double height = sc.nextDouble();
if( t == 1 ) {
System.out.print("win : ");
int win = sc.nextInt();
System.out.print("lose : ");
int lose = sc.nextInt();
System.out.print("defence : ");
double defence = sc.nextDouble();
playerArr[indexCount] = new PitcherDto (win,lose,defence);
}
else {
System.out.print("batCount : ");
int batCount =sc.nextInt();
System.out.print("hit : ");
int hit=sc.nextInt();
System.out.print("hitAvg : ");
double hitAvg=sc.nextDouble();
playerArr[indexCount] = new BatterDto (batCount,hit,hitAvg);
}
playerArr[indexCount].setPosition(position);
playerArr[indexCount].setNumber(number);
playerArr[indexCount].setName(name);
playerArr[indexCount].setAge(age);
playerArr[indexCount].setHeight(height);
indexCount++;
}
//μμ
public void delete() {
System.out.print("μμ ν μ μ μ΄λ¦ : ");
String delName = sc.next();
int index = search(delName);
if(index == -1) {
System.out.println("ν΄λΉ μ μκ° μμ΅λλ€.");
return;
}
System.out.println("\""+playerArr[index].getName()+"\" μ μμ μ 보λ₯Ό μμ νμ΅λλ€.");
playerArr[index]=null;
}
//κ²μ
public void select() {
System.out.print("κ²μν μ μ μ΄λ¦μ μ
λ ₯νμΈμ. : ");
String selName = sc.next();
int index = search(selName);
if(index == -1) {
System.out.println("ν΄λΉ μ μκ° μμ΅λλ€.");
return;
}
System.out.println("\""+playerArr[index].getName()+"\" μ μ");
System.out.println(playerArr[index].toString());
}
//μμ
public void update() {
System.out.print("μμ ν μ μ μ΄λ¦μ μ
λ ₯νμΈμ. : ");
String upName = sc.next();
int index = search(upName);
if(index == -1) {
System.out.println("ν΄λΉ μ μκ° μμ΅λλ€.");
return;
}
if(playerArr[index].getPosition().equals("ν¬μ")) {
System.out.print("μμ λ defence κ° μ
λ ₯ : ");
double upDefence = sc.nextDouble();
((PitcherDto) playerArr[index]).setDefence(upDefence);
}
else {
System.out.print("μμ λ hitAvg κ° μ
λ ₯ : ");
double upHitAvg = sc.nextDouble();
((BatterDto) playerArr[index]).setHitAvg(upHitAvg);
}
System.out.println("μ μ μ 보λ₯Ό μμ νμ΅λλ€.");
}
//μ 체μ μμΆλ ₯
public void allprint() {
for (int i = 0; i < playerArr.length; i++) {
if(playerArr[i] != null
) {
System.out.println(playerArr[i].toString());
}
}
}
//μ‘°ν
public int search(String name) {
int index = -1;
for (int i = 0; i < playerArr.length; i++) {
if(playerArr[i] != null && !playerArr[i].getName().equals("")) {
if(playerArr[i].getName().contains(name)) {
index = i;
break;
}
}
}
return index;
}
//μ μ₯
public void newFile() {
File newFile = new File("F:\\tmp\\baseballTeam.txt");
try {
if(newFile.createNewFile()) {
}
}catch(IOException e) {
e.printStackTrace();
}
}
public void fileWriter() throws IOException {
File file = new File("F:\\tmp\\baseballTeam.txt");
try {
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file)));
for (int i = 0; i < playerArr.length; i++) {
if(playerArr[i] != null ) {
pw.println(playerArr[i].toString());
}
}
pw.close();
System.out.println("μ μ₯μ μλ£νμ΅λλ€.");
}catch (IOException e) {
e.printStackTrace();
}
}
//μμ
public void sorting() {
System.out.print("λ±λ²νΈ μ λ ¬ μ€λ¦μ°¨μ(1) λ΄λ¦Όμ°¨μ(2)? ");
int ud = sc.nextInt();
upDown = (ud == 1) ? true : false;
}
public void swap() {
HumanDto temp = new HumanDto();
for (int i = 0; i < playerArr.length-1; i++) {
for (int j = i + 1; j < playerArr.length; j++) {
if(upDown == true && playerArr[i] != null && playerArr[j] != null) {
if(playerArr[i].getNumber() > playerArr[j].getNumber()) {
temp = playerArr[i];
playerArr[i] = playerArr[j];
playerArr[j] = temp;
}
}
else if(upDown == false && playerArr[i] != null && playerArr[j] != null) {
if(playerArr[i].getNumber() < playerArr[j].getNumber()) {
temp = playerArr[i];
playerArr[i] = playerArr[j];
playerArr[j] = temp;
}
}
}
}
System.out.println("μ λ ¬μ μλ£νμ΅λλ€.");
}
}
- HumanDto
Dtoμ λΆλͺ¨ν΄λμ€ μ΄λ€.
νλμ 5κ°μ λ©€λ² λ³μκ° μκ³ , μμ±μμ get, set λ©μλ, toString λ©μλλ₯Ό μμ±ν΄λμλ€.
package dto;
public class HumanDto {
private String position;
private int number;
private String name;
private int age;
private double height;
public HumanDto() {
}
public HumanDto(String position, int number, String name, int age, double height) {
this.position = position;
this.number = number;
this.name = name;
this.age = age;
this.height = height;
}
public String getPosition() {
return position;
}
public void setPosition(String position) {
this.position = position;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
@Override
public String toString() {
return "ν¬μ§μ
=" + position + ", λ±λ²νΈ=" + number + ", μ΄λ¦=" + name + ", λμ΄=" + age + ", μ μ₯="
+ height;
}
}
- PitcherDto
HumanDtoλ₯Ό μμλ°λ μμ ν΄λμ€μ΄λ€.
νλμ 3κ°μ λ©€λ² λ³μκ° μκ³ , μμ±μμ get, set λ©μλ, toString λ©μλλ₯Ό μμ±ν΄λμλ€.
package dto;
public class PitcherDto extends HumanDto {
private int win;
private int lose;
private double defence;
public PitcherDto(int win, int lose, double defence) {
super();
this.win = win;
this.lose = lose;
this.defence = defence;
}
public int getWin() {
return win;
}
public void setWin(int win) {
this.win = win;
}
public int getLose() {
return lose;
}
public void setLose(int lose) {
this.lose = lose;
}
public double getDefence() {
return defence;
}
public void setDefence(double defence) {
this.defence = defence;
}
@Override
public String toString() {
return "PitcherDto ["+super.toString()+", win=" + win + ", lose=" + lose + ", defence=" + defence + "]";
}
}
- BatterDto
HumanDtoλ₯Ό μμλ°λ μμ ν΄λμ€μ΄λ€.
νλμ 3κ°μ λ©€λ² λ³μκ° μκ³ , μμ±μμ get, set λ©μλ, toString λ©μλλ₯Ό μμ±ν΄λμλ€.
package dto;
public class BatterDto extends HumanDto {
private int batCount;
private int hit;
private double hitAvg;
public BatterDto() {}
public BatterDto(int batCount, int hit, double hitAvg) {
super();
this.batCount = batCount;
this.hit = hit;
this.hitAvg = hitAvg;
}
public int getBatCount() {
return batCount;
}
public void setBatCount(int batCount) {
this.batCount = batCount;
}
public int getHit() {
return hit;
}
public void setHit(int hit) {
this.hit = hit;
}
public double getHitAvg() {
return hitAvg;
}
public void setHitAvg(double hitAvg) {
this.hitAvg = hitAvg;
}
@Override
public String toString() {
return "BatterDto ["+super.toString()+", batCount=" + batCount + ", hit=" + hit + ", hitAvg=" + hitAvg + "]";
}
}
'π» κ°λ° > π TIL (Today I Learned)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
21.02.09 TIL (D+22 Oracle DDL, μλ£ν , νμ€ ν¨μ) (0) | 2021.02.09 |
---|---|
21.02.01 TIL (D+16 JAVA ArrayList, μ λ€λ¦) (0) | 2021.02.01 |
21.01.30 TIL (JAVA flnal, static, μΆμ ν΄λμ€, μΈν°νμ΄μ€) (0) | 2021.01.31 |
21.01.27 TIL (D+13 JAVA μμ±μ, μμ, μλμ±) (0) | 2021.01.27 |
21.01.25 TIL (D+11 JAVA μμΈμ²λ¦¬, File μ μΆλ ₯) (0) | 2021.01.25 |