반응형
// 사용자로부터
// 성별 -> 나이 -> 신체검사등급 순으로 입력 받아
// 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 |