날아라쩡글이의 블로그입니다.

중첩 if예제풀기 본문

java (학원 전) story/문제풀이

중첩 if예제풀기

날아라쩡글이 2021. 8. 5. 11:59
반응형

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
Comments