본문 바로가기

JAVA

JAVA(12) - 학생 관리 프로그램/버퍼/버퍼에 있는 엔터 제거 방법

1. 학생 관리 프로그램

  • 1. 이름
    2. 학과
    3. 연락처
    4. 학번
    5. 학점

1.) 상수,변수 선언

		final int MAX = 3;	//상수(MAX) 선언
		//변수 선언
		String names[] = new String[MAX];
		String major[] = new String[MAX];	
		String phone[] = new String[MAX];	
		String sNumber[] = new String[MAX];	
		float avg[] = new float[MAX];	
		int select = 0; //메뉴 입력 저장 변수
		
		Scanner scan = new Scanner(System.in);
		//프로그램 제목 출력
		System.out.println("-- 학생 관리 프로그램 --");

 

2.) 메뉴 창 띄우기

		while(true) {
			System.out.println("<< 메뉴 >>");
			System.out.println("1. 정보 입력");
			System.out.println("2. 정보 출력");
			System.out.println("3. 종료");
			System.out.print("선택 > ");
			select = scan.nextInt();

 

3.) 종료먼저 처리할 메뉴 : 종료 - 그렇지 않으면 한번 프로그램이 실행되고 종료되기 때문에

			if(select == 3) {
				System.out.println("종료합니다.");
				break;
			}

 

4.) 메뉴별 실행 

switch (select) {
			case 1://입력메뉴
				//서브 타이틀 출력
				System.out.println("학생 등록");
			    for (int i = 0; i < MAX; i++) {
			    	System.out.println("--------------------");
			    	scan.nextLine();
					System.out.print("이름 : ");
					names[i] = scan.nextLine();
					System.out.print("학과 : ");
					major[i] = scan.nextLine();
					System.out.print("연락처 : ");
					phone[i] = scan.nextLine();
					System.out.print("학번 : ");
					sNumber[i] = scan.nextLine();
					System.out.print("평균 : ");
					avg[i] = scan.nextFloat();
				}
				break;
                
			case 2://출력메뉴
				System.out.println("학생 정보 출력");
			    for (int i = 0; i < MAX; i++) {
			    	System.out.println("--------------------");
					System.out.println("이름 : " + names[i]);
					System.out.println("학과 : " + major[i]);
					System.out.println("연락처 : " + phone[i]);
					System.out.println("학번 : " + sNumber[i]);
					System.out.println("평균 : " + avg[i]);
			    }
				break;				

			default://잘못된 메뉴 입력
				break;
			}
		}

4-1) 버퍼에 있는 엔터 제거 방법 1

      엔터가 문자로 잡히는 부분에 scan.nextLine(); 추가해줌. (case1 참고)

4-2) 버퍼에 있는 엔터 제거 방법 2

			System.out.println("<< 메뉴 >>");
			System.out.println("1. 정보 입력");
			System.out.println("2. 정보 출력");
			System.out.println("3. 종료");
			System.out.print("선택 > ");

			String selstr = scan.nextLine();
			select = Integer.parseInt(selstr); //문자열 -> 정수

4-3) 버퍼에 있는 엔터 제거 방법 3

			case 1://입력메뉴
				//서브 타이틀 출력
				System.out.println("학생 등록");
			    for (int i = 0; i < MAX; i++) {
			    	System.out.println("--------------------");
					System.out.print("이름 : ");
					names[i] = scan.nextLine();
					System.out.print("학과 : ");
					major[i] = scan.nextLine();
					System.out.print("연락처 : ");
					phone[i] = scan.nextLine();
					System.out.print("학번 : ");
					sNumber[i] = scan.nextLine();
					System.out.print("평균 : ");
					avg[i] = scan.nextFloat();
					String fStr = scan.nextLine();
					avg[i] = Float.parseFloat(fStr);  //문자열 -> 실수