Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

Everything has an expiration date

038 - Java 과제 2 : if문을 사용하여 입력 받은 문자가 알파벳 모음인지, 자음인지, 알파벳이 아닌 다른 문자인지 출력하는 프로그램 (내 풀이) 본문

[Java]/과제

038 - Java 과제 2 : if문을 사용하여 입력 받은 문자가 알파벳 모음인지, 자음인지, 알파벳이 아닌 다른 문자인지 출력하는 프로그램 (내 풀이)

Jelly-fish 2023. 8. 30. 17:41

 

/*=========================================
■■■ 실행 흐름의 컨트롤(제어문) ■■■
- if 문
- if ~ else 문 실습
===========================================*/

// 1. 프로그램을 작성할 때 주어진 조건에 따라
//    분기 방향을 정하기 위해 사용하는 제어문에는
//   if문, if~else문, 조건연산자, 복합 if문(if문 중첩), switch문이 있다.


// 2. if문은 if 다음의 조건이 참(true)일 경우
//    특정 문장을 수행하고자 할 때 사용되는 구문이다.


//		○ 과제
//		사용자로부터 임의의 알파벳 한 문자를 입력받아
//		이를 판별하여 입력받은 알파벳이 모음일 경우만
//		결과를 출력하는 프로그램을 구현한다.
//		단, 대소문자를 모두 적용할 수 있도록 처리한다.
//		또한, 알파벳 이외의 문자가 입력되었을 경우
//		입력 오류에 대한 내용을 사용자에게 안내해 줄 수 있도록 한다.


// 실행 예)
// 임의의 알파벳 한 문자 입력 : A ← 대문자 모음
// >> 모음 OK~!!!
// 계속하려면 아무 키나 누르세요...

// 임의의 알파벳 한 문자 입력 : e ← 소문자 모음
// >> 모음 OK~!!!
// 계속하려면 아무 키나 누르세요...

// 임의의 알파벳 한 문자 입력 : B ← 대문자 자음
// 계속하려면 아무 키나 누르세요...

// 임의의 알파벳 한 문자 입력 : c ← 소문자 자음
// 계속하려면 아무 키나 누르세요...

// 임의의 알파벳 한 문자 입력 : 1 ← 알파벳 아님
// >> 입력 오류~!!!
// 계속하려면 아무 키나 누르세요...

package Test038;

import java.io.IOException; 

public class Test038
{
	public static void main(String[] args) throws IOException
	{
		// 1. 변수 선언****************************************************************************
		
		
		char chInput;		// ◆ 사용자가 입력하는 문자 정수형 변수 : chInput 선언
		
							// ◆ 알파벳 모음의 char 값 배열 : alphabetVowelsArray 생성
		int[] alphabetVowelsArray = {65, 69, 73, 75, 85, 97, 101, 105, 111, 117};
								//                   	 ----------------------
								//                                 ⓐ
								//   ------------------
								//           ⓑ
		
								// ⓐ → ※ 입력값 chInput이 97 101 105 111 117 이면 알파벳 소문자 모음
								// ⓑ → ※ 입력값 chInput이 65  69  73 75  85  이면 알파벳 대문자 모음
								// 
								//		 if문으로 10개의 조건을 작성하면 코드가 너무 길어지므로,
								//		 UniCode 값을 각각 배열 인덱스에 저장하여 처리하자.
		
	
		boolean bIsTrue = false; 	// ◆ 알파벳 모음임을 판별하는 boolean 변수 : strIsTrue 선언


		
		String resultStr = "";   // ◆ 결과 값을 저장하는 문자열 변수 : resultStr 선언


		// 2. 사용자로부터 문자 하나를 입력 받는다.***************************************************
		
        System.out.print("임의의 알파벳 한 문자 입력 : ");
		chInput = (char)System.in.read();
	

		// 3. for문과 array를 사용하여
		//    입력값이 알파벳 모음인지, 자음인지, 아니면 다른 입력값인지 판단한다.********************
		
				 
				//【Logic】▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤
				
				//① 입력 받은 값이 알파벳인가?

				//	① ▶ true  :  ② 알파벳 모음인가?
				//				   ② ▶ true  : "모음 OK~!!!"를 출력한다.
				//				   ② ▶ false : 아무것도 실행하지 않고, 프로그램 종료한다.

				//	① ▶ false :	알파벳이 아니다. "입력 오류~!!!"를 출력한다.
				//▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤
				
		

		// ① 입력 받은 값이 알파벳인가?
		
        //	   ↓ 입력 문자 chInput = 알파벳 대문자    or    ↓ 입력 문자 chInput = 알파벳 소문자
		if ((65 <= chInput) && (chInput <= 90) || (97 <= chInput) && (chInput <= 122))
		{
			//System.out.println("첫 번째 if문 들어왔습니다.");
			
            // ① ▶ true  :  ② 알파벳 모음인가?
			for (int i = 0; i<10 ; i++) // ② ▶ true : 알파벳 모음이다.
			{
				bIsTrue = (chInput == alphabetVowelsArray[i]); // 알파벳 모음 배열 값과 일치한다.
				//System.out.println("[입력 알파벳과 비교 알파벳은 같나요?] : " + bIsTrue + " [비교하는 알파벳 모음] : " + alphabetVowelsArray[i]);
				
                if (bIsTrue == true)
				{
					// "모음 OK~!!!"를 출력한다.
					resultStr = "모음~!!!";
					System.out.println(resultStr);
				}

			}

			// for문을 다 돌고 나서도 bIsTrue == false이면 자음이다.
	
			if (bIsTrue == false) // ② ▶ false : 아무것도 실행하지 않고, 프로그램 종료한다.
			{
				//System.out.println("자음을 입력하셨습니다.");
				return;
						// * return : 1. 값을 반환한다.
						// 			  2. 메소드를 종료시킨다. → main()메소드 종료 : 프로그램 종료.
			}
		
		}
        
		
		else // ①  ▶ false :	알파벳이 아니다. "입력 오류~!!!"를 출력한다.
		{
			resultStr = "입력 오류~!!!";
			System.out.println(resultStr);
		}

		
	}
}

// 실행 결과

/*
임의의 알파벳 한 문자 입력 : a
모음~!!!
계속하려면 아무 키나 누르십시오 . . .
*/

/*
임의의 알파벳 한 문자 입력 : I
모음~!!!
계속하려면 아무 키나 누르십시오 . . .
*/

/*
임의의 알파벳 한 문자 입력 : B
계속하려면 아무 키나 누르십시오 . . .
*/

/*
임의의 알파벳 한 문자 입력 : 8
입력 오류~!!!
계속하려면 아무 키나 누르십시오 . . .
*/