Java

[ 알고리즘 기초 100제 ] 1번 학생이름 저장 및 검색

JooKit 주킷 2020. 11. 30. 21:51
목차 접기
728x90
반응형
package algo;

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

public class Algo {
    static Scanner scanner = new Scanner(System.in);
    static ArrayList<Student> array = new ArrayList<>();

    public static void main(String[] args) {

        while (true) {

            System.out.print("입력해주세요. : ");
            String command = scanner.nextLine();

            if (command.equals("저장")) {
                doWrite();
            }

            else if (command.equals("검색")) {
                doResearch();
            }

            else if (command.equals("종료")) {
                break;
            }
            else {
                System.out.println("존재하지 않는 명령어 입니다.");
            }
        }
    }

    public static void doResearch() {
        System.out.print("검색할 학생의 이름을 입력해주세요 : ");
        String name = scanner.nextLine();

        if (array.size() > 0) {
            for (int i = 0; i < array.size(); i++) {
                Student st = new Student();
                st = array.get(i);

                if (st.name.equals(name)) {
                    System.out.println("조회하신 학생의 학번은 : " + st.gradeId + " 입니다.");
                }
            }
        }

        else {
            System.out.println("존재하지 않는 학생입니다.");
        }
    }

    private static void doWrite() {
        System.out.print("학생 이름을 입력해주세요 : ");
        String name = scanner.nextLine();
        System.out.print("학생 번호를 입력해주세요 : ");
        int id = scanner.nextInt();
        scanner.nextLine();
        Student st = new Student(name, id);
        array.add(st);

    }

}

class Student {
    String name;
    int gradeId;

    Student() {

    }

    Student(String name, int id) {
        this.name = name;
        this.gradeId = id;

    }
}

테스트 방법

  • 실행
    • sts 프로그램 실행
    • 프로젝트 생성
    • ctrl + F11
  • 목적
    • 검색한 학생이 저장되어 있을 경우, 학생의 학번을 출력합니다.
    • 저장되어 있지 않은 학생의 경우, '존재하지 않는 학생입니다.' 라는 문장을 출력합니다.
  • 해당 출력프로그램은 검색어 3가지로 작동됩니다.
    • 저장
    • 검색
    • 종료
  • 저장
    • 저장하려는 학생의 이름과 학번을 저장할 수 있습니다.
  • 검색
    • 학번을 검색하려는 학생명을 입력하면 해당 학생의 학번을 조회할 수 있습니다.
  • 종료
    • 저장된 학생의 학번을 출력하는 프로그램 실행을 종료합니다.
  • 유의사항
    • 지정된 검색어 3가지 이외의 검색어를 입력할 경우, '존재하지 않는 명령어 입니다.' 경고와 함께 검색어를 다시 입력하게 작동됩니다.

작성자 풀이 과정임을 참고 바랍니다.

  • 더 나은 코드로 다시 코드 작성 예정.
728x90
반응형
LIST