상세 컨텐츠

본문 제목

변수 정리

수업 일지/Java

by NayC 2021. 3. 8. 13:39

본문

728x90
package ex2.control;

import java.util.Scanner;

public class Practice5switch2 {

	public static void main(String[] args) {

		int kor, eng;
		int math;
		int total;
		float avg;

		kor = 0;
		eng = 0;
		math = 0;

		boolean more = true;
		Scanner scan = new Scanner(System.in);

//		EXIT: 
			while (more) {

			int menu;
			System.out.println("┌────────────────────┐");
			System.out.println("│       메인 메뉴      │");
			System.out.println("└────────────────────┘");

			System.out.println("1. 성적 입력 : ");
			System.out.println("2. 성적 출력 : ");
			System.out.println("3. 종료 : ");
			System.out.print("선택 >");
			menu = Integer.parseInt(scan.nextLine());

			switch (menu) {

			case 1:
				System.out.println("┌────────────────────┐");
				System.out.println("│       성적 입력      │");
				System.out.println("└────────────────────┘");

//				System.out.printf("국어 : ");
//				kor = Integer.parseInt(scan.nextLine());
				
//					if (!(0<= kor && kor <= 100))
					do {
						System.out.printf("국어 : ");
						kor = Integer.parseInt(scan.nextLine());
						
						if (kor < 0 || 100 <kor)
							System.out.println("입력 범위 : 0~100 범위의 값만 입력할 수 있습니다.");
							
					}
					while (kor < 0 || 100 < kor );
				
				
//				System.out.printf("영어 : ");
//				eng = Integer.parseInt(scan.nextLine());
//				System.out.printf("수학 : ");
//				math = Integer.parseInt(scan.nextLine());
//				break;

			case 2:
				total = kor + eng + math;
				avg = total / 3.0f;

				System.out.println("┌───────────────────────────────┐");
				System.out.println("│             성적 출력           │");
				System.out.println("└───────────────────────────────┘");

//				int i=0;
//				while (i<3) {
				for (int i=0; i<3; i++) {
				
				System.out.printf("국어 : %d\n", kor);
				System.out.printf("영어 : %d\n", eng);
				System.out.printf("수학 : %d\n", math);

				System.out.printf("총점:%d\n", kor + eng + math);
				System.out.printf("평균:%6.2f\n", avg);
				
				System.out.println("----------------------");
				
//				i++;
				}
				
				break;

			case 3:
			more = false;
//				break EXIT;
				break; 
			}
			
//			break;
		}

//	        System.out.println("선택할까요? (True/False)");
//	        more = scan.nextBoolean();

		System.out.println("bye~~");
		
	}
}

 

정 - 말 헷갈리는 변수들.

다음과 같은 맥락이다. 

 

- boolean은 true와 false값만 가짐

  more 을 true로 해주었음.

- while (more) -> 즉, while문 안의 값이 다 ~~ true니까 계속 반복해주겠다는 뜻

 

case 3에서 while문 종료는 이렇게 해결 가능하다. 

 

1. more = false 만났을 때야 while을 그치겠다. 

   (break; 얘는 써줘도 안 써줘도 오케이. 어차피 while 종료되니까)

2. break EXIT; 

   while문 나가겠다.

3. } swich 문 닫고

   break; 

   -> while문 그만하겠다. 

4. System.out.printIn("선택할까요? (True/False)");

   more = scan.nextBoolean(); 여기에 true 입력하면 계속 while문 돌리는거고, false 입력하면 이제 true 아니니 while문도 종료 !

 

728x90
반응형

'수업 일지 > Java' 카테고리의 다른 글

추상화 정리 (java)  (0) 2021.04.08
객체지향 정리 (java)  (0) 2021.04.07
따옴표 정리  (0) 2021.03.12
숙지를 위한 연습 문제들 (java)  (0) 2021.03.11
10일. Java - 파일 읽기 , 비트 연산자  (1) 2021.03.04

관련글 더보기