Java

[ 알고리즘 기초 100제 ] 1번 학생이름 저장 및 검색 (예제 만든자 풀이)

JooKit 주킷 2020. 11. 30. 22:42
목차 접기
728x90
반응형
public class Student {
    private String name;
    private int id;

    public Student(String name, int id) {
        super();
        this.name = name;
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }

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

public class main {

    public static void main(String[] args) {
        Student st1 = new Student("홍길동", 1991);
        Student st2 = new Student("홍길순", 1993);
        Student st3 = new Student("개똥이", 1923);

        ArrayList<Student> array = new ArrayList<Student>();
        array.add(st1);
        array.add(st2);
        array.add(st3);

        Scanner scanner = new Scanner(System.in);

        while ( true ) {
            System.out.printf("검색하시려면 y, 종료하시려면 n을 입력해주세요 : ");
            String input = scanner.next();
            boolean flag = false;

            if ( input.equals("y")) {
                System.out.printf("검색하시려는 학생의 이름을 입력해주세요 : " );
                String name = scanner.next();
                for ( Student student : array ) {
                    if ( student.getName().equals(name)) {
                        System.out.println(String.format("%s의 학번은 %d번 입니다.", name, student.getId()));
                        flag = true;
                    }
                }
                if ( !flag ) {
                    System.out.println("일치하는 학생이 존재하지 않습니다.");
                }

            }
            else if ( input.equals("n")) {
                break;
            }
            else {
                System.out.println("다시 입력바랍니다.");
            }

        }
        System.out.println("프로그램을 종료합니다.");

    }

}

테스트 방법

  • 실행
    • sts 프로그램 실행
    • 프로젝트 생성
    • ctrl + F11
  • 목적
    • 검색한 학생이 저장되어 있을 경우, 학생의 학번을 출력합니다.
    • 저장되어 있지 않은 학생의 경우, '존재하지 않는 학생입니다.' 라는 문장을 출력합니다.
  • 해당 출력프로그램은 검색어 2가지로 작동됩니다.
    • y 입력
    • n 입력
  • 검색
    • y를 입력한 후 질문에 따라 학생명을 입력하면 해당 학생의 학번이 조회됩니다.
      종료
    • n 입력
    • 저장된 학생의 학번을 출력하는 프로그램 실행을 종료합니다.
728x90
반응형
LIST