if - else if - else 문 (23.04.19)

·2023년 4월 19일
0

Coding Test

목록 보기
2/39
post-thumbnail

✏️ [문제 1] 놀이기구 탑승 제한 검사

나이가 12세 이상, 키 140.0cm 이상 일 경우에만 "탑승 가능"
나이가 12미만인 경우 : "적정 연령이 아닙니다."
키가 140.0cm 미만 : "적정 키가 아닙니다."
나이를 0세 미만, 100세 초과 시 : "잘못 입력 하셨습니다."
  • 풀이
	Scanner sc = new Scanner(System.in);
    
    System.out.print("나이 입력 : ");
	int age = sc.nextInt();
    
    String result;
		
	if(age < 0 || age > 100) {
		result = "잘못 입력 하셨습니다.";
			
	} else {
		System.out.print("키 입력 : ");
		double height = sc.nextDouble();
			
		if(age < 12) {
			result = "적정 연령이 아닙니다.";
				
		} else if(height < 140.0) {
			result = "적정 키가 아닙니다.";
				
			} else {
			result = "탑승 가능";
			}
		}
    	System.out.println(result);

✏️ [문제 2] 놀이기구 탑승 제한 검사 프로그램

* 조건 - 나이 : 12세 이상
	   -  키 : 140.0cm 이상
* 나이를 0~100세 사이로 입력하지 않은 경우 : "나이를 잘못 입력 하셨습니다."
   키를 0~250.0cm 사이로 입력하지 않은 경우 : "키를 잘못 입력 하셨습니다."
   -> 입력이 되자 마자 검사를 진행하여 잘못된 경우 프로그램 종료
   나이 O , 키 X : "나이는 적절하나, 키가 적절치 않음";
   나이 X , 키 O : "키는 적절하나, 나이는 적절치 않음";
   나이 X , 키 X : "나이와 키 모두 적절치 않음";
   나이 O , 키 O : "탑승 가능"
  • 풀이
		Scanner sc = new Scanner(System.in);
		
		System.out.print("나이 입력 : ");
		int age = sc.nextInt();
		
		String result;
		
		if( age < 0 || age > 100) {
			result = "나이를 잘못 입력 하셨습니다.";
			
		} else {
			System.out.print("키 입력 : ");
			double height = sc.nextDouble();
			
			if(height < 0 || height > 250.0) {
				result = "키를 잘못 입력 하셨습니다.";
				
			} else {
				if( age < 12 && height >= 140.0) { // 나이 X, 키 O
					result = "키는 적절하나, 나이는 적절치 않음";
					
				} else if( age >= 12 && height < 140.0) { // 나이 O, 키 X
					result = "키는 적절하나, 나이는 적절치 않음";
					
				} else if(age < 12 && height < 140.0) { // 나이 X, 키 X
					result = "나이와 키 모두 적철치 않음";
					
				} else {
					result = "탑승 가능";
				}
			}
		}
		
		System.out.println(result);
		

if - else if - else 문은 조건식이 계속해서 중첩되어 입력되다 보니...
이 괄호가 어느 조건식의 괄호인지 너무 헷갈린다. ㅠㅠ
괄호를 잘 닫았는지 괄호의 짝을 일대일 대응하여 꼼꼼하게 확인하는 습관을 들이자!

profile
풀스택 개발자 기록집 📁

0개의 댓글