JAVA 문제풀이

강정우·2022년 7월 13일
0

JAVA

목록 보기
14/31
post-thumbnail
  • 학생을 관리할 수 있는 management program을 작성하시오.
  • 입력은 이름, 학번, 성별, 핸드폰번호, 성적을 입력 받아 객체를 만든 후 배열로 관리하시오.
  • management program에는 학생 등록, 조회, 삭제, 종료 4가지 메뉴가 있음.
<style>
package studentManage;

public class Student {
	private String name;
	private int stdID;
	private String gender;
	private String phone;
	private int pors;
	private int cons;

	public Student(String name, int stdID, String gender, String phone) {
		super();
		this.name = name;
		this.stdID = stdID;
		this.gender = gender;
		this.phone = phone;
		this.pors = 0;
		this.cons = 0;
	}
}
</style>
  • 필드값과 필드값을 지정하여 만들 수 있는 객체 생성자 클래스 생성
<style>
package studentManage;

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

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		ArrayList<Student> stuList = new ArrayList<Student>();

		System.out.println("==Students Managements Program==");
		stuManage: while (true) {
			System.out.println("===========Select menu===========");
			System.out.println("==1.input 2.search 3.delete 4.system out");
			int choice = sc.nextInt();
			switch (choice) {
			case (1):
				System.out.println("========input========");
				System.out.print("name : ");
				String name = sc.next();
				System.out.print("Student ID : ");
				int stdID = sc.nextInt();
				System.out.print("Gender : ");
				String gender = sc.next();
				System.out.print("Phone Number : ");
				String phone = sc.next();
				Student student = new Student(name, stdID, gender, phone);
				stuList.add(student);
				System.out.println("=======complete=======");
				break;
			case (2):
				System.out.println("======input======");
				System.out.print("Student ID : ");
				int stuid = sc.nextInt();
				for (int i = 0; i < stuList.size(); i++) {
					if (stuList.get(i).getStdID() == stuid) {
						System.out.println(stuList.get(i));
					} else {
						System.out.println("===no row searched===");
					}
				}
				break;
			case (3):
				System.out.println("======delete======");
				System.out.print("Student ID : ");
				int stuID = sc.nextInt();
				for (int i = 0; i < stuList.size(); i++) {
					if (stuList.get(i).getStdID() == stuID) {
						stuList.remove(i);
						System.out.println("=====deleted=====");
					} else {
						System.out.println("=== no row searched===");
					}
				}
				break;
			case (4):
				System.out.println("======system off======");
				break stuManage;
			}
		}

	}

}
</style>
  • 여기서 핵심은 stuList.get(i)가 객체를 순서대로 가져온다는 것.
  • stuList는 각 student 객체를 index로 참조하고 있고 비록 data 값들의 이름은 같지만 주소값이 다르기에 stuList.get(i)로 각각의 독립적이 객체에 접근하여 getStdID()라는 객체 메서드를 이용하여 필드에 접근이 가능하도록 한 프로그램이다.
profile
智(지)! 德(덕)! 體(체)!

0개의 댓글