[자바/JAVA] if문은 이중으로 활용할 수 있다
- Java
- 2021. 4. 29.
조건에 맞는 값을 출력하고 싶을 때 사용하는 if문은 자바 코딩 과정에서 가장 많이 쓰는 연산 중 하나다.
3개의 과목의 성적을 입력하면 총점, 평균, 학점을 출력하는 프로그램을 만들어보자.
평균이 90점 이상이면 학점은 A, 80점 이상이면 B, 70점 이상이면 C를 출력한다.
public class Ex {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("100점까지만 입력할 수 있습니다.");
System.out.print("과목1 : ");
int first = scan.nextInt();
System.out.print("과목2 : ");
int second = scan.nextInt();
System.out.print("과목3 : ");
int third = scan.nextInt();
// 1, 2, 3과목 값 입력
int sum = first + second + third; // 3과목 점수 합계
double avg = sum / 3.0; // 3과목 점수 평균
String grade;
if (avg >= 90) {
grade = "A";
} else if (avg >= 80) {
grade = "B";
} else if (avg >= 70) {
grade = "C";
} else {
grade = "F";
}
System.out.println("총점 : " + sum);
System.out.println("평균 : " + avg);
System.out.println("학점 : " + grade);
}
}
결과값
100점까지만 입력할 수 있습니다.
과목1 : 97
과목2 : 97
과목3 : 97
총점 : 291
평균 : 97.0
학점 : A
끝나고 보니 + - 성적을 추가하고 싶어 졌다고 가정한다.
평균이 97점 이상이면 A+ 96~94점은 A 93~90 사이라면 A-를 출력한다.
public class Ex {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("100점까지만 입력할 수 있습니다.");
System.out.print("과목1 : ");
int first = scan.nextInt();
System.out.print("과목2 : ");
int second = scan.nextInt();
System.out.print("과목3 : ");
int third = scan.nextInt();
// 1, 2, 3과목 값 입력
int sum = first + second + third; // 3과목 점수 합계
double avg = sum / 3.0; // 3과목 점수 평균
String grade;
if (avg >= 90) {
grade = "A";
if (avg>=97) {grade+="+";} // avg가 90 이상이면 A를 출력하는데, 만약 avg가 97 이상이면 A에 +를 추가
if (avg<=93) {grade+="-";} // avg가 90 이상이면 A를 출력하는데, 만약 avg가 93 이하이면 A에 -를 추가
} else if (avg >= 80) {
grade = "B";
} else if (avg >= 70) {
grade = "C";
} else {
grade = "F";
}
System.out.println("총점 : " + sum);
System.out.println("평균 : " + avg);
System.out.println("학점 : " + grade);
}
}
결과값
100점까지만 입력할 수 있습니다.
과목1 : 97
과목2 : 97
과목3 : 97
총점 : 291
평균 : 97.0
학점 : A+
기존의 형태를 수정하지 않고 if문 안에 또 다른 if문을 추가함으로써 해결할 수 있다.
반응형
'Java' 카테고리의 다른 글
[자바/JAVA] for문에 선언한 변수는 for문을 벗어나면 사라진다 (0) | 2021.04.30 |
---|---|
[자바/JAVA] double 타입 소수점 삭제하는 법 | String.format (0) | 2021.04.29 |
[자바/JAVA] "hello world" 메모장으로 출력하기 (0) | 2021.04.28 |
이클립스 노란줄의 의미, 없애는 방법 (0) | 2021.04.28 |
[자바/JAVA] JDK 환경 변수 설정하는 방법 (0) | 2021.04.28 |