본문으로 바로가기

  

 

문제 

1. 학생정보들을 저장하고, 학생이름으로 검색했을때 학번을 출력하는 프로그램 작성.

- Student 클래스 생성

String name, no를 가짐 (이름과 학번)

 

학생들을 ArrayList에 저장1 검색을 하겠느냐 y 종료하고싶으면 n

학생이름이있는경우 그학생의 학번을 저장

 

학생이름이 없으면, 없는 학생이름이라고 출력

태그 while, flag, ArrayList, foreach

 

Student.class

package com.company;

public class Student {
    private String name;
    private String no;

    public String getName() {
        return name;
    }

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

    public String getNo() {
        return no;
    }

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

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

 

Main.class

package com.company;

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

public class Main {

    public static void main(String[] args) {

        Student student1 = new Student("손오공", "9141");
        Student student2 = new Student("손오반", "5000");
        Student student3 = new Student("손오정", "5343");

        ArrayList<Student> list = new ArrayList<Student>();
        list.add(student1);
        list.add(student2);
        list.add(student3);

        for(Student student : list) {
            System.out.println(student.getName());
            System.out.println(student.getNo());
        }

        Scanner sc = new Scanner(System.in);

        while(true) {
            System.out.println("계속 검색하시려면 y, 중단하시려면 n를 입력해주세요.");
            String input = sc.next();
            boolean flag = false;
            if (input.equals("y")) {
                System.out.println("이름을 입력해주세요.");
                String name = sc.next();
                for (Student student : list) {
                    if(student.getName().equals(name)) {
                        System.out.println(student.getName() + "학생의 학번은 : " + student.getNo());
                        flag = true;
                    }
                }
                if(!flag) {
                    System.out.println("해당 학생은 존재하지 않습니다.");
                }
            }
            else if(input.equals("n")) {
                break;
            }
        }
        System.out.println("프로그램이 종료되었습니다.");
    }
}

 

출력 결과