[자바/JAVA] if문은 이중으로 활용할 수 있다

조건에 맞는 값을 출력하고 싶을 때 사용하는 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문을 추가함으로써 해결할 수 있다.

반응형

댓글

Designed by JB FACTORY