자바 학생정보 등록 및 조회 프로그램(DAO, DTO 활용)

2019. 8. 2. 00:36Java/문풀

728x90

유튜브 알고리즘 기초100제 1/100
https://www.youtube.com/watch?v=w023dXv03nk&list=PLVoihNyHW4xkm_KJ8_N8X7F6EQP4uSRyR&index=2

기본형 문풀은 https://humahumahuma.tistory.com/44 를 확인해주세요.

1) main.class

package basic001;

import java.util.ArrayList;
import java.util.Scanner;

public class main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        String ans = "";

        StudentDAO dao = new StudentDAO();


        do {

            System.out.print("[1]학생정보 저장   [2]학생조회");
            int choice = scanner.nextInt();

            if (choice == 1) {
                System.out.print("등록할 학생이름 입력>> ");
                String name = scanner.next();

                System.out.print("등록할 학번 입력>>");
                int no = scanner.nextInt();

                dao.enroll(name, no);

            } else if (choice == 2) {

                System.out.print("검색할 학생 이름을 입력>> ");
                String searchName = scanner.next();

                dao.search(searchName);

            } else {
                System.out.print("메뉴 번호를 확인하시고 다시 입력해주세요.");
            }

            System.out.print("계속하시겠습니까? [Y/N]");
            ans = scanner.next();
            if (ans.equals("N") || ans.equals("n"))
                break;
        } while (ans.equals("Y") || ans.equals("y"));
        System.out.println("학생조회 서비스를 종료합니다.");

    }

}

2) StudentDAO.class

package basic001;

import java.util.ArrayList;

public class StudentDAO {

    ArrayList<StudentDTO> arr = new ArrayList<StudentDTO>();

    // 학생정보 저장 메소드
    public void enroll(String name, int no) {

        StudentDTO dto = new StudentDTO(name, no);
        arr.add(dto);

    }

    // 학생정보 조회 메소드
    public void search(String name) {

        if (arr.size() > 0) {

            for (int i = 0; i < arr.size(); i++) {
                if (name.equals(arr.get(i).getName())) {
                    System.out.println(name + "의 학번은 " + arr.get(i).getNo() + "입니다.");
                }

            }
        } else {
            System.out.println("해당 학생 정보가 존재하지 않습니다.");
        }

    }

}

3) StudentDTO.class


package basic001;

public class StudentDTO {

    private String name;
    private int no;

    public StudentDTO(String name, int no) {
        this.name = name;
        this.no = no;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getNo() {
        return no;
    }

    public void setNo(int no) {
        this.no = no;
    }

}

728x90
반응형