Notice
Recent Posts
Recent Comments
Link
Everything has an expiration date
040 - Java switch문을 사용하여 국어, 영어, 수학 점수의 총점과 등급을 출력하는 프로그램 본문
[Java]/Program source (java)
040 - Java switch문을 사용하여 국어, 영어, 수학 점수의 총점과 등급을 출력하는 프로그램
Jelly-fish 2023. 8. 30. 21:36/*=========================================
■■■ 실행 흐름의 컨트롤(제어문) ■■■
- switch 문
===========================================*/
/*
○ 다중 선택문이라 하며, switch 문 다음의 수식 값에 따라
실행 순서를 여러 방향으로 분기할 때 사용하는 문장이다.
○ 형식 및 구조
switch(수식)
{
case 상수1 : 문장1; [break;]
case 상수2 : 문장2; [break;]
:
[ defalut : 문장n+1; [break;]]
}
switch 문의 『수식』과 case 의 『상수』는
byte, short, int, long 형이어야 한다. (double, float 지원 안함 -> avg 정수로 선언한 이유)
(+ 문자 타입 char)
(+ 문자열 String)
▶ case 문 뒤에 『break;』 가 없는 형태인 경우
다음 case 문의 문장을 계속해서(이어서) 수행하게 된다. (→ 기본 모델)
▶『break;』가 존재할 경우
해당 지점에서 수행을 멈춘 후 switch 문을 빠져나간다. (→ 일반 모델)
*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Test040
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String name; //-- 이름
int kor, eng, mat, tot; //-- 국어, 영어, 수학, 총점
//double avg;
int avg; //-- 평균 (switch의 수식값에서 double, float 지원 안 함.)
//char grade; //-- 등급
char grade = 'F';
System.out.print("이름 입력 : ");
name = br.readLine();
System.out.print("국어점수 입력 : ");
kor = Integer.parseInt(br.readLine());
System.out.print("영어점수 입력 : ");
eng = Integer.parseInt(br.readLine());
System.out.print("수학점수 입력 : ");
mat = Integer.parseInt(br.readLine());
tot = kor + eng + mat;
//avg = tot / 3.0;
avg = tot / 3;
/*
if(avg >= 90)
grade = 'A';
else if(avg >= 80)
grade = 'B';
else if(avg >= 70)
grade = 'C';
else if(avg >= 60)
grade = 'D';
else
grade = 'F';
*/
/*
switch (avg)
{
case 100: grade = 'A'; break;
case 99: grade = 'A'; break;
case 98: grade = 'A'; break;
case 97: grade = 'A'; break;
// :
case 0: grade = 'F'; break;
}
*/
/*
switch (avg/10)
{
case 10: grade = 'A'; break;
case 9 : grade = 'A'; break;
case 8 : grade = 'B'; break;
case 7 : grade = 'C'; break;
case 6 : grade = 'D'; break;
case 5 : grade = 'F'; break;
case 4 : grade = 'F'; break;
case 3 : grade = 'F'; break;
case 2 : grade = 'F'; break;
case 1 : grade = 'F'; break;
case 0 : grade = 'F'; break;
}
*/
/*
switch (avg/10)
{
case 10: grade = 'A'; break;
case 9 : grade = 'A'; break;
case 8 : grade = 'B'; break;
case 7 : grade = 'C'; break;
case 6 : grade = 'D'; break;
//default : grade = 'F'; break;
}
//System.out.println("grade : " + grade);
*/
switch (avg/10)
{
case 10: case 9 : grade = 'A'; break;
case 8 : grade = 'B'; break;
case 7 : grade = 'C'; break;
case 6 : grade = 'D'; break;
//default : grade = 'F'; break;
}
// 결과 출력
System.out.println();
System.out.printf(">> 당신의 이름은 %s 입니다.\n", name);
System.out.printf(">> 총점은 %d, 평균은 %d 입니다.\n", tot, avg);
System.out.printf(">> 등급은 %c 입니다.\n", grade);
}
}
// 실행 결과
/*
이름 입력 : 강혜성
국어점수 입력 : 90
영어점수 입력 : 80
수학점수 입력 : 70
>> 당신의 이름은 강혜성 입니다.
>> 총점은 240, 평균은 80 입니다.
>> 등급은 B 입니다.
계속하려면 아무 키나 누르십시오 . . .
*/
'[Java] > Program source (java)' 카테고리의 다른 글
042 - Java switch문을 활용하여 입력 받은 정수 두 개와, 연산자를 활용해 연산 결과 출력하기 (0) | 2023.08.30 |
---|---|
041 - Java switch 문으로 입력 받은 수 1~3 만큼 별 찍기 (0) | 2023.08.30 |
037 - Java 입력 받은 5개 정수의 짝수의 합, 홀수의 합을 구하는 프로그램 (0) | 2023.08.30 |
036 - Java 사용자에게 정수 3개를 입력 받고, if문을 통해 크기 순으로 정렬하여 출력하기 (선생님 풀이) 『 비트 연산자 XOR 이용 』 (0) | 2023.08.30 |
035 - Java if문을 통해 정수와 연산자 문자열(+, -, *, /)을 입력 받고 사칙 연산 처리하여 출력하기 (0) | 2023.08.29 |