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문도 종료 !
추상화 정리 (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 |