코딩 기록/Java
java 학생들의 정보 입력, 조회,삭제하는 프로그램 만들기
NomadHaven
2021. 12. 15. 21:45
StudentDto | StudentDao |
package dto; public class StudentDto { private int number; private String name; private double height; private int eng; private int math; public StudentDto() { } public StudentDto(int number, String name, double height, int eng, int math) { super(); this.number = number; this.name = name; this.height = height; this.eng = eng; this.math = math; } 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 double getHeight() { return height; } public void setHeight(double height) { this.height = height; } public int getEng() { return eng; } public void setEng(int eng) { this.eng = eng; } public int getMath() { return math; } public void setMath(int math) { this.math = math; } public void remove() { number=0; name=""; height=0.0; eng=0; math=0; } @Override public String toString() { //데이터를 확인할수 있는 함수 return "StudentDto [number=" + number + ", name=" + name + ", height=" + height + ", eng=" + eng + ", math=" + math + "]"; } } |
package dao; import java.util.Scanner; import dto.StudentDto; //데이터의 접근 관리 public class StudentDao { Scanner sc = new Scanner(System.in); private StudentDto student[] = new StudentDto[20]; private int count; private String name; public StudentDao() { count = 0; student[0] = new StudentDto(1001, "홍길동", 171.1, 90, 85); student[1] = new StudentDto(1002, "성춘향", 181.1, 100, 85); student[2] = new StudentDto(1003, "일지매", 151.1, 40, 60); count = 3; } //데이터 추가 public void insert() { System.out.println("번호 = "); int number =sc.nextInt(); System.out.println("이름= "); String name = sc.next(); System.out.println("신장= "); double height = sc.nextDouble(); System.out.println("영어 = "); int eng =sc.nextInt(); System.out.println("수학 = "); int math =sc.nextInt(); StudentDto dto = new StudentDto(number, name, height, eng, math); student[count] = dto; count++; } //삭제 public void delete() { System.out.println("삭제할 학생명= "); String name = sc.next(); int index = search(name); if(index==-1) { System.out.println("데이터를 찾을수 없습니다."); } else { System.out.println(student[index].getName()+"데이터를 삭제했습니다."); student[index].remove(); } } public void select() { System.out.println("검색할 학생명 = "); String name =sc.next(); //데이터 조회 int index = search(name); //search함수 밑에 나옴 //데이터 조회 실패경우 if(index==-1) { System.out.println("데이터를 찾을 수 없습니다."); }else { StudentDto dto =student[index]; System.out.println(student[index].toString()); } } //수정 public void update() { System.out.println("수정할 학생명= "); String name = sc.next(); //수정전 수정할 학생 검색 검색 int index = search(name); if(index==-1) { System.out.println("데이터를 찾을수 없습니다."); } else { System.out.print("영어 점수 = "); int eng = sc.nextInt(); System.out.print("수학 점수 ="); int math = sc.nextInt(); student[index].setEng(eng); student[index].setMath(math); System.out.println("데이터를 수정하였습니다."); } } //전체 데이터 조회 public void alldata() { for (int i = 0; i < student.length; i++) { StudentDto dto =student[i]; if(dto!=null && dto.getName().equals("")==false){ System.out.println(dto.toString()); } } } //검색함수 public int search(String name) { int index = -1; //값을 못찾았을때를 나타내는 변수 for (int i = 0; i < student.length; i++) { StudentDto dto = student[i]; if(dto !=null&& !dto.getName().equals("")) { if(dto.getName().equals(name)) { index = i; break; } } } return index; } } |
MainClass | |
package main; import java.util.Scanner; import dao.StudentDao; public class MainClass { public static void main(String[] args) { Scanner sc = new Scanner(System.in); StudentDao dao = new StudentDao(); //menu while(true) { 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("메뉴번호를 입력>>"); 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.alldata(); break; case 6: System.exit(0); //프로그램 강제 종료 break; } } } } |