import java.util.Scanner;

public class Test_1 {

	public static void main(String[] args) {
		
		final int SIZE =3;
		int[][] kors =new int[SIZE][SIZE];
		int total;
		float avg;
		int menu;    // 1: INPUT   2: PRINT  3: EXIT
		final int MENU_INPUT = 1;
		final int MENU_PRINT = 2;
		final int MENU_EXIT = 3;
		
		for(int j = 0; j<SIZE; j++)
			for(int i= 0 ; i<SIZE; i++)
				kors[j][i] = 0;
		종료 :
		while(true) {
			Scanner s= new Scanner(System.in);
			System.out.println("┌──────────────────────┐");
			System.out.println("│        메인 메뉴     │");
			System.out.println("└──────────────────────┘");
			System.out.println("\t1.성적 입력");
			System.out.println("\t2.성적 출력");
			System.out.println("\t3.종료");
			System.out.print("\t선택 >");
			menu =s.nextInt();
			
			switch(menu)  {
			case MENU_INPUT: 
			
				// ------ 성적 입력 부분
				System.out.println("┌──────────────────────┐");
				System.out.println("│        성적 입력     │");
				System.out.println("└──────────────────────┘");
				
				for(int j= 0 ;j<SIZE ; j++)
					for(int i= 0 ; i<3 ; i++)
						do {
							System.out.printf("%d학년 국어 %d:",j+1, i+1);
							kors[j][i] = s.nextInt();
							
							if(kors[j][i]<0 || 100<kors[j][i] )
								System.out.println("성적범위(0~100)를 벗어났습니다.");
						}while(kors[j][i] <0 || 100<kors[j][i]);
				
				
				break;
			// ----------------성적 출력부분
			case MENU_PRINT:
				System.out.println("┌──────────────────────┐");
				System.out.println("│        성적 출력     │");
				System.out.println("└──────────────────────┘");
				
				
				for(int j= 0 ;j<SIZE ; j++) {
				
				total = kors[j][0]+kors[j][1]+kors[j][2];
				avg = total/3.0f;
				
				System.out.printf("<%d 학년의 국어성적> ------\n",j+1);
				
					for(int i = 0 ; i<3; i++)
							System.out.printf("\t국어%d : %3d\n",i+1, kors[j][i]);
								
						System.out.printf("\t총점 : %3d\n",   total);
						System.out.printf("\t평균 : %6.2f\n", avg);
						System.out.println("──────────────────────────────");
								
				}			
				
				break;
							
			case MENU_EXIT:
				break 종료;
			default:
				System.out.println("입력오류 1~3번까지만 입력할수있습니다.");
			}
		}
		System.out.println("good bye");
	}
}

전 게시글의 예제이다.

상수형 변수Permalink

다른값에 대체되기 위해서 final 이라는 것을 사용한다. 항상 같은 값을 유지하는 변수이다. 이것을 상수형 변수라고 말한다.

상수형 변수를 사용하기 위해서는 앞에 final 을 붙이고 타입 그리고 변수명은 대문자 ! 로 사용한다.

원래는 case 1: ~3 이런식으로 나가지만

final int MENU_INPUT = 1; final int MENU_PRINT = 2; final int MENU_EXIT = 3;

이렇게 상수형 변수를 줘서 가독성이 좋게 만들어준다.

final int SIZE =3; SIZE 라는 상수형 변수를 줘서 값을 변경하기 쉽게한다. 코드의 수정을 위해서이다.


프로그램을 깔끔하게 가독성 좋고 수정도 편하게 만들어주는 상수형 변수에 대해서 배웠다. 모르고 넘어갈뻔했는데 너무 유익하고 좋은 상식을 얻은거같다.

https://youtu.be/Xh2zyzl6JoY

댓글남기기