public class IfScoreTest
{
public static void main(String[] args){
/*
국어,영어,수학 점수를 가지고
총점,평균,평점(A,B,C....)을 출력하시요....
- 100점이 넘는 수나 음수가 입력되면 메세지를 출력하세요
- 평균은 소수점이하 2자리수까지만 출력하세요
- 출력포맷
************************
국어: 78
영어: 56
수학: 77
총점:256
평균:78.56
평점: C
************************
*/
int kor,eng,math;
kor=78;
eng=56;
math=77;
char hakjum=' ';
if(kor<0 || kor>100){
System.out.println("점수가 잘못 되었어요");
}else if(kor>=90){
hakjum='a';
}else if(kor>=80){
hakjum='b';
}
else if(kor>=70){
hakjum='c';
}else if(kor<70){
hakjum='d';
}
System.out.println("국어 " + hakjum);
if(eng<0 || eng>100){
System.out.println("점수가 잘못 되었어요");
}else if(eng>=90){
hakjum='a';
}else if(eng>=80){
hakjum='b';
}else if(eng>=70){
hakjum='c';
}else if(eng<70){
hakjum='d';
}
System.out.println("영어 " + hakjum );
if(math<0 || math>100){
System.out.println("점수가 잘못 되었어요");
}else if(math>=90){
hakjum='a';
}else if(math>=80){
hakjum='b';
}
else if(math>=70){
hakjum='c';
}else if(math<70){
hakjum='d';
}
System.out.println("수학 " + hakjum );
int result = kor + eng + math;
System.out.println("총점" + result);
float result2 = (kor + eng + math)/3;
System.out.println("평균" + (float)result2);
int average;
average = (kor + eng + math)/3;
if(average<0 || average>100){
System.out.println("점수가 잘못 되었어요");
}else if(average>=90){
hakjum='a';
}else if(average>=80){
hakjum='b';
}
else if(average>=70){
hakjum='c';
}else if(average<70){
hakjum='d';
}
System.out.println("평균 " + hakjum );
}
}
----------------------
국어 c
영어 d
수학 c
총점211
평균70.0
평균 c
.....
1)if 조건문을 지금 처럼 여러번 적지 않고 한번만 적어 각 과목의 점수를 넣고 싶어요.
2)평균값이 소수점 둘째자리까지 나타내려고 float로 단위를 변형 했는대
되지 않아요 ㅠㅠ
1)if 조건문을 지금 처럼 여러번 적지 않고 한번만 적어 각 과목의 점수를 넣고 싶어요.
2)평균값이 소수점 둘째자리까지 나타내려고 float로 단위를 변형 했는대
되지 않아요 ㅠㅠ
1은 이미 switch 문을 배운 것 같으니 해결되었을 테고...hakjum 이 출력하는 변수인데 케스팅 할 때 값이 다 보존되는 건 아님. 업케스팅 다운 케스팅 해서 검색 ㄱㄱ~
답글삭제해결했낭?
답글삭제