728x90
반응형
1. if문 이용
2. switch-case문 이용
문제
<입력값:출력>
90~100:A
80~89:B
70~79:C
60~69:D
0~59:F
- 점수를 입력 받아서 학점을 구하시오.
- 사용자가 직접 점수를 입력한다. (import java.util.Scanner; 이용)
- 입력한 값이 100보다 크거나 0보다 작을 때는 결과가 출력되지 않는다.
- 90을 입력하면 A값이 출력된다.
- 경곗값 분석을 이용해 테스트를 해 보아라.
1. if문 이용
Scanner scan = new Scanner(System.in);
int num=0;
char grade=' '; //변수선언 및 초기화. 학점을 넣을 변수
System.out.print("점수를 입력하세요 >> ");
num = scan.nextInt();
//grade 값 삽입
if(num>100 || num<0) //100보다 크거나 0보다 작은 숫자를 입력했을 때
System.out.println("점수를 잘못 입력하셨습니다.\n0~100 사이의 점수를 다시 입력해주세요.");
else{ //100~1 사이의 숫자
if(num >= 90){ //이미 100이하의 값임을 확인했기 때문에 90이상인 값을 구한다.
grade='A';
}
else if(num >= 80){ //위의 조건을 만족하지 못해서 다음 조건문으로 내려왔기 때문에 이미 90이상이 아닌 것을 확인했다. 즉, 89~80까지의 값
grade='B';
}
else if(num >= 70){ //79~70
grade='C';
}
else if(num >= 60){ //69~60
grade='D';
}
else{ //나머지 값. 59~0
grade='F';
}
System.out.printf("학점 : %c",grade); //출력
}//else_end
scan.close(); //close를 해주지 않아도 오류가 나지는 않으나, OS 자원을 되돌리기 위해 close()
2. switch-case문 이용
Scanner scan = new Scanner(System.in);
int score=0;
char grade=' ';
System.out.printf("점수를 입력하시오 >> ");
score = scan.nextInt();
if(score>100 || score<0)
System.out.println("점수를 잘못 입력하셨습니다.\n0~100 사이의 점수를 다시 입력해주세요.");
else{
switch(score/10){ //몫을 구하는 switch문
case 10: //100 (100/10 = 10)
case 9: //99~90 (99/9 = 9)
grade='A'; //100~90을 입력받았을 때 출력
break; //switch문 탈출
case 8:
grade='B';
break;
case 7:
grade='C';
break;
case 6:
grade='D';
break;
default:
grade='F';
}
System.out.printf("학점 : %c", grade); //출력
}//else_end
scan.close();
출력 결과
점수를 입력하세요 >> 101
점수를 잘못 입력하셨습니다.
0~100 사이의 점수를 다시 입력해주세요.
점수를 입력하세요 >> -1
점수를 잘못 입력하셨습니다.
0~100 사이의 점수를 다시 입력해주세요.
점수를 입력하시오 >> 100
학점 : A
점수를 입력하세요 >> 90
학점 : A
점수를 입력하세요 >> 59
학점 : F
점수를 입력하세요 >> 0
학점 : F
728x90
반응형
'HRD_훈련 > 실습' 카테고리의 다른 글
[JAVA] UP&DOWN 답 맞추기 (0) | 2023.05.25 |
---|---|
[JAVA] Random 함수를 이용한 구구단 답 맞추기 (0) | 2023.05.25 |
[JAVA] Math.random()을 이용한 LOTTO (0) | 2023.05.23 |
[JAVA] 주민등록번호를 입력 받아 남자인지 여자인지 판별 (0) | 2023.05.22 |
[JAVA] 반복문을 이용한 별 출력 (0) | 2023.05.21 |