Dev/Java

Java - 조건문 ( Else If 02 )

surimi🍥 2020. 8. 11. 12:48
반응형
// 사용자로부터
// 성별 -> 나이 -> 신체검사등급 순으로 입력 받아
// 1~3: 현역
// 4: 공익
// 5~: 면제 
// 가 출력되는 프로그램을 작성하세요.
// 단 사용자가 여성일 경우엔 추가적인 입력 없이
//  "여성에게는 국방의 의무가 없습니다"
// 가 출력되고
// 남성이지만 18세미만일 경우
//  "미성년자는 아직 국방의 의무가 없습니다"
// 가 출력되게 중첩 if문을 작성하세요. 

import java.util.Scanner;

public class Ex06IfElseIf3 {

	public static void main(String[] args) {
    
		Scanner scanner = new Scanner(System.in);

		// 가장 먼저 성별을 입력받는다.
		// 성별은 머 숫자로 1은 남자 2는 여자로 해도 되고
		// 스트링 입력을 받아서 해도 되는데, 스트링 입력을 받을땐
		// (sex == "남자")가 아닌 (sex.equals("남자"))이다.
		// == 는 주소값의 비교, .equals()는 값의 비교 이기 때문.

		System.out.println("성별을 입력해주세요. 남자 / 여자");
		System.out.print("> ");

		String sex = scanner.nextLine();

		if (sex.equals("남자")) {

			// 남자이므로 나이 입력을 받는다.

			System.out.println("나이를 입력해주세요");
			System.out.print("> ");
			int age = scanner.nextInt();

			if (age < 18) {

				// 미성년자이므로 메시지만 출력한다.

				System.out.println("미성년자에게는 아직 국방의 의무가 부여되지 않습니다.");
			} else {

				// 성인이므로 신체등급을 입력받는다.

				System.out.println("신체등급을 입력해주세요");
				System.out.print("> ");
				int rating = scanner.nextInt();
				if (rating <= 3) {
					System.out.println("현역");
				} else if (rating == 4) {
					System.out.println("공익");
				} else {
					System.out.println("면제");
				}
			}
		} else {

			// 여성이므로 메시지만 출력한다.

			System.out.println("여성에게는 국방의 의무가 부여되지 않습니다.");
		}

		scanner.close();
	}
}
더보기

성별을 입력해주세요. 남자 / 여자
> 여자
여성에게는 국방의 의무가 부여되지 않습니다.

 

 

성별을 입력해주세요. 남자 / 여자
> 남자
나이를 입력해주세요
> 15
미성년자에게는 아직 국방의 의무가 부여되지 않습니다.

 

 

성별을 입력해주세요. 남자 / 여자
> 남자
나이를 입력해주세요
> 25
신체등급을 입력해주세요
> 6
면제

 

 

성별을 입력해주세요. 남자 / 여자
> 남자
나이를 입력해주세요
> 21
신체등급을 입력해주세요
> 1
현역

 

 

반응형

'Dev > Java' 카테고리의 다른 글

Java - 반복문 ( For Loop )  (0) 2020.08.11
Java - 조건문 ( Switch )  (0) 2020.08.11
Java - 조건문 ( Else If )  (0) 2020.08.11
Java - 조건문 ( IfElse )  (0) 2020.08.11
Java - 제어문 ( If )  (0) 2020.08.11