Cute Happy Ghost
본문 바로가기
JAVA/Java

20201013_14 Arraylist이용한 학생정보 프로그램

by JENN_tech7 2020. 10. 13.
728x90
SMALL

먼저 메인에 다 써놓고

package javabook;

import java.util.ArrayList;
import java.util.Scanner;
//
//class Data {
//	String name;
//	int age;
//}
public class ArrayListExam2 {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);

		ArrayList<ArrayListExam2> al = new ArrayList<ArrayListExam2>(); //ArrayList클래스 객체 생성

		String info = null, name = null, dept = null, dept1 = null, degree = null;
		int menu, grade = 0;

		do {
			System.out.println("<메뉴>");
			System.out.println("1. 학생정보 입력");
			System.out.println("2. 학생정보 보기");
			System.out.println("3. 이름으로 검색");
			System.out.println("4. 종료");
			System.out.print("메뉴선택 : ");

			menu = in.nextInt();

			switch (menu) {
			case 1:System.out.println("학생 정보 입력 : 대학생 / 대학원생");
			info = in.next();
			if (info.equals("대학생")) {
				System.out.print("이름 : ");
				name = in.next();
				System.out.print("학과 : ");
				dept = in.next();
				System.out.print("학년 : ");
				grade = in.nextInt();
			}else if (info.equals("대학원생")) {
				System.out.println("선택 : 석사/ 박사");
				degree = in.next();
				if (degree.equals("석사")) {
					System.out.print("이름 : ");
					name = in.next();
					System.out.print("학과 : ");
					dept = in.next();
					System.out.print("학사졸업학과 : ");
					dept1 = in.next();
					System.out.print("학년 : ");
					grade = in.nextInt();
				}else if (degree.equals("박사")) {
					System.out.print("이름 : ");
					name = in.next();
					System.out.print("학사졸업학과 : ");
					dept = in.next();
					System.out.print("석사졸업학과 : ");
					dept1 = in.next();
					System.out.print("학년 : ");
					grade = in.nextInt();
				}

			}//if

			break;

			case 2 : 	
				if (name != null) {
					if (info.equals("대학생")) {
						System.out.println("----학생정보-----");
						System.out.println(name);
						System.out.println("대학생");
						System.out.println("학생학과 :" + dept);
						System.out.println("학생학년 :" + grade);
						System.out.println("---------------");
					}else if (degree.equals("석사")) {
						System.out.println("----학생정보-----");
						System.out.println(name);
						System.out.println("대학원생");
						System.out.println("학사졸업학과(" + dept1 + ")");
						System.out.println("석사과정" + grade +"학년");
						System.out.println("---------------");
					}else if (degree.equals("박사")) {
						System.out.println("----학생정보-----");
						System.out.println(name);
						System.out.println("대학원생");
						System.out.println("박사과정" + grade +"학년");
						System.out.println("학사졸업학과(" + dept1 + ")");
						System.out.println("석사졸업학과(" + dept + ")");
						System.out.println("---------------");
					}
				}else if (name == null) {
					System.out.println("입력된 결과 없음");
				}

				break;

			case 3 : 	
				System.out.print("이름으로 검색 :" );
				String search = in.next();

				if (search.equals(name)) {
					if (info.equals("대학생")) {
						System.out.println("----학생정보-----");
						System.out.println(name);
						System.out.println("대학생");
						System.out.println("학생학과 :" + dept);
						System.out.println("학생학년 :" + grade);
						System.out.println("---------------");
					}else if (degree.equals("석사")) {
						System.out.println(name);
						System.out.println("----학생정보-----");
						System.out.println("대학원생");
						System.out.println("석사과정" + grade +"학년");
						System.out.println("학사졸업학과(" + dept + ")");
						System.out.println("---------------");
					}else if (degree.equals("박사")) {
						System.out.println("----학생정보-----");
						System.out.println(name);
						System.out.println("대학원생");
						System.out.println("박사과정" + grade +"학년");
						System.out.println("학사졸업학과(" + dept1 + ")");
						System.out.println("석사졸업학과(" + dept + ")");
						System.out.println("---------------");
					}
				} else 
					System.out.println("검색결과 없음");
				break;
			}
		} while (menu != 4);
		System.out.println("종료");
	}
}

 

 

 

 

클래스로 옮겨줌

아직 상속? 이런건 잘 모르겠음..

package ex;
import java.util.ArrayList;
import java.util.Scanner;

class Ex1 {
	Scanner in = new Scanner(System.in);

	ArrayList<ArrayListExam2> al = new ArrayList<ArrayListExam2>(); //ArrayList클래스 객체 생성

	String info = null, name = null, dept = null, dept1 = null, degree = null;
	int menu, grade = 0;
	public Ex1() {
		menu();
	}
	
	public void menu() {
		for(;;) {
			System.out.println("<메뉴>");
			System.out.println("1. 학생정보 입력");
			System.out.println("2. 학생정보 보기");
			System.out.println("3. 이름으로 검색");
			System.out.println("4. 종료");
			System.out.print("메뉴선택 : ");
			menu = in.nextInt();

			switch (menu) {
			case 1:
				input();
				break;
			case 2:
				output();
				break;	
			case 3:
				search();
				break;
			case 4:
				System.out.println("종료");
				return;
			}
		}
		 
	}
	public void input() {
		System.out.println("학생 정보 입력 : 대학생 / 대학원생");
		info = in.next();
		if (info.equals("대학생")) {
			System.out.print("이름 : ");
			name = in.next();
			System.out.print("학과 : ");
			dept = in.next();
			System.out.print("학년 : ");
			grade = in.nextInt();
		}else if (info.equals("대학원생")) {
			System.out.println("선택 : 석사/ 박사");
			degree = in.next();
			if (degree.equals("석사")) {
				System.out.print("이름 : ");
				name = in.next();
				System.out.print("학과 : ");
				dept = in.next();
				System.out.print("학사졸업학과 : ");
				dept1 = in.next();
				System.out.print("학년 : ");
				grade = in.nextInt();
			}else if (degree.equals("박사")) {
				System.out.print("이름 : ");
				name = in.next();
				System.out.print("학사졸업학과 : ");
				dept = in.next();
				System.out.print("석사졸업학과 : ");
				dept1 = in.next();
				System.out.print("학년 : ");
				grade = in.nextInt();
			}

		}//if
		
}
	public void output() {
		if (name != null) {
			if (info.equals("대학생")) {
				System.out.println("----학생정보-----");
				System.out.println(name);
				System.out.println("대학생");
				System.out.println("학생학과 :" + dept);
				System.out.println("학생학년 :" + grade);
				System.out.println("---------------");
			}else if (degree.equals("석사")) {
				System.out.println("----학생정보-----");
				System.out.println(name);
				System.out.println("대학원생");
				System.out.println("학사졸업학과(" + dept1 + ")");
				System.out.println("석사과정" + grade +"학년");
				System.out.println("---------------");
			}else if (degree.equals("박사")) {
				System.out.println("----학생정보-----");
				System.out.println(name);
				System.out.println("대학원생");
				System.out.println("박사과정" + grade +"학년");
				System.out.println("학사졸업학과(" + dept1 + ")");
				System.out.println("석사졸업학과(" + dept + ")");
				System.out.println("---------------");
			}
		}else if (name == null) {
			System.out.println("입력된 결과 없음");
		}
	}
	public void search() {
		System.out.print("이름으로 검색 :" );
		String search = in.next();

		if (search.equals(name)) {
			if (info.equals("대학생")) {
				System.out.println("----학생정보-----");
				System.out.println(name);
				System.out.println("대학생");
				System.out.println("학생학과 :" + dept);
				System.out.println("학생학년 :" + grade);
				System.out.println("---------------");
			}else if (degree.equals("석사")) {
				System.out.println(name);
				System.out.println("----학생정보-----");
				System.out.println("대학원생");
				System.out.println("석사과정" + grade +"학년");
				System.out.println("학사졸업학과(" + dept + ")");
				System.out.println("---------------");
			}else if (degree.equals("박사")) {
				System.out.println("----학생정보-----");
				System.out.println(name);
				System.out.println("대학원생");
				System.out.println("박사과정" + grade +"학년");
				System.out.println("학사졸업학과(" + dept1 + ")");
				System.out.println("석사졸업학과(" + dept + ")");
				System.out.println("---------------");
			}
		} else 
			System.out.println("검색결과 없음");
		
	}

//
//class Data {
//	String name;
//	int age;
//}
public static class ArrayListExam2 {

	public static void main(String[] args) {
		new Ex1();
	}
}
}

 

 

 

 

 

 

출력결과는 이렇게!

<메뉴>
1. 학생정보 입력
2. 학생정보 보기
3. 이름으로 검색
4. 종료
메뉴선택 : 1
학생 정보 입력 : 대학생 / 대학원생
대학생
이름 : 김똘
학과 : 경영
학년 : 2
<메뉴>
1. 학생정보 입력
2. 학생정보 보기
3. 이름으로 검색
4. 종료
메뉴선택 : 2
----학생정보-----
김똘
대학생
학생학과 :경영
학생학년 :2
---------------
<메뉴>
1. 학생정보 입력
2. 학생정보 보기
3. 이름으로 검색
4. 종료
메뉴선택 : 3
이름으로 검색 :김똘
----학생정보-----
김똘
대학생
학생학과 :경영
학생학년 :2
---------------
<메뉴>
1. 학생정보 입력
2. 학생정보 보기
3. 이름으로 검색
4. 종료
메뉴선택 : 1
학생 정보 입력 : 대학생 / 대학원생
대학원생
선택 : 석사/ 박사
석사
이름 : 김뽈
학과 : 경제
학사졸업학과 : 무역
학년 : 1
<메뉴>
1. 학생정보 입력
2. 학생정보 보기
3. 이름으로 검색
4. 종료
메뉴선택 : 2
----학생정보-----
김뽈
대학원생
학사졸업학과(무역)
석사과정1학년
---------------
<메뉴>
1. 학생정보 입력
2. 학생정보 보기
3. 이름으로 검색
4. 종료
메뉴선택 : 4
종료
728x90
LIST

댓글