날아라쩡글이의 블로그입니다.
중첩 if예제풀기 본문
package day03;
import java.util.Scanner;
//사용자로부터 성별,나이,신체등급을 입력받아
//현역, 공익, 면제를 출력하는 프로그램
//성별을 입력 받을 때에는 int의 형태로 입력받아
//1은 남자 2는 여자로 판정합니다.
//여자일 경우 , 추가적인 입력없이
//" 여성에게는 국방의 의무가 부여되지 않습니다."라는 메세지만 출력되고 프로그램이 종료되어야합니다.
//남자일 경우 나이를 입력받되, 미성년자일 경우 추가적인 입력없이
//"아직 미성년자에게는 국방의 의무가 부여되지 않습니다."라는 메세지만 출력되고 프로그램이 종료되어야합니다.
//남성이고, 18세이상의 성인일 때에만 신체등급을 입력받아
//1~3급 : 현역
//4급 : 공익
//그외 :면제 가 출력되게 코드를 작성하시오
import java.util.Scanner;
public class Ex12NestedIf2 {
public static void main(String[]args) {
Scanner scanner = new Scanner(System.in);
//상수
//기준-성별-남자
//기준-성별-여자
//기준 나이-성인
//기준-등급-현역//3을 입력함
//기준-등급-공익
final int MAIL = 1;
final int FEMAIL = 2;
final int AGE =18;
final int NOMAL = 3;
final int SOCIAL =4;
//1.성별을 입력받는다.
//2.성별에 따라서 남성일 경우, 추가적인 작업을 하고, 여성의 경우 메세지만 출력한다.
//3.남성일 경우 나이를 입력받는다.
//4.나이가 성인일 경우 추가적인 작업을 하고, 미성년자의 경우 메세지만 출력한다.
//5.성인일 경우 신체등급을 입력받는다.
//6.신체등급에 따라서 결과를 출력한다.
System.out.println("당신의 성별은 무엇입니까?");
System.out.println("남성의 경우 1을 입력하세요");
System.out.println("여성의 경우 2을 입력하세요");
System.out.print(">");
int userData = scanner.nextInt();
if(userData==MAIL) {
//남자이므로 나이를 입력받는다.
System.out.println("당신은 남성입니다.나이가 어떻게 되시나요?.");
userData = scanner.nextInt();
if(AGE<=userData) {
//성인이므로 신체등급을 입력받는다.
System.out.println("성인입니다. 신체등급은 몇 등급인가요?");
System.out.println("숫자로 입력바랍니다.");
userData = scanner.nextInt();
if(userData<=NOMAL) {
System.out.println("현역입니다.");
}else if(userData==SOCIAL) {
System.out.println("공익입니다.");
}else {
System.out.println("면제입니다.");
}
}else {//미성년자이므로 경고메세지만 출력
System.out.println("아직 미성년자에게는 국방의 의무가 부여되지 않습니다.");
}
}else if(userData==FEMAIL){
//여성이므로 경고메세지만 출력함.
System.out.println("여성에게는 국방의 의무가 부여되지 않습니다.");
}else {
System.out.println("잘 못 입력하셨습니다.");
}
scanner.close();
}
}
'java (학원 전) story > 문제풀이' 카테고리의 다른 글
while문제풀이 (0) | 2021.08.05 |
---|---|
while 문제풀이 (0) | 2021.08.05 |
if-else문을 이용한 미니 심리테스트 (0) | 2021.08.04 |
if-else 예제 (0) | 2021.08.04 |
if제어문 문제풀이 (0) | 2021.08.04 |