Notice
Recent Posts
Recent Comments
Link
Everything has an expiration date
039 - Java 과제 3 : 입력 받은 문자가 알파벳이면 대소문자 변환하여 출력하고, 아니면 입력 오류 메시지를 출력하는 프로그램 (내 풀이) 본문
[Java]/과제
039 - Java 과제 3 : 입력 받은 문자가 알파벳이면 대소문자 변환하여 출력하고, 아니면 입력 오류 메시지를 출력하는 프로그램 (내 풀이)
Jelly-fish 2023. 8. 30. 17:42
/*=========================================
■■■ 실행 흐름의 컨트롤(제어문) ■■■
- if 문
- if ~ else 문 실습
===========================================*/
// 1. 프로그램을 작성할 때 주어진 조건에 따라
// 분기 방향을 정하기 위해 사용하는 제어문에는
// if문, if~else문, 조건연산자, 복합 if문(if문 중첩), switch문이 있다.
// 2. if문은 if 다음의 조건이 참(true)일 경우
// 특정 문장을 수행하고자 할 때 사용되는 구문이다.
// ○ 과제
// 사용자로부터 임의의 문자를 하나 입력받아
// 알파벳 대문자 이면 소문자로, 소문자이면 대문자로
// 알파벳이 아닌 기타 문자면 입력 오류 처리하는
// 프로그램을 구현한다.
// 실행 예)
// 한 문자 입력 : A
// >> A → a
// 계속하려면 아무 키나 누르세요...
// 한 문자 입력 : b
// >> b → B
// 계속하려면 아무 키나 누르세요...
// 한 문자 입력 : 3
// >> 입력 오류~!!!
// 계속하려면 아무 키나 누르세요...
package Test039;
import java.io.IOException;
public class Test039
{
public static void main(String[] args) throws IOException
{
// 1. 변수를 선언한다.*******************************************
int nInputChar; //-- 입력된 문자의 정수값(키코드 값)을 저장하기 위한 변수
char chInputChar; //-- 입력된 문자의 문자를 저장하기 위한 변수
char resultChar; //-- 알파벳 대소문자 연산을 끝낸 결과값을 저장하기 위한 변수
// 2. 사용자에게 문자 하나를 char 형태로 입력 받는다.********************
System.out.print("한 문자 입력 : ");
nInputChar = System.in.read();
chInputChar = (char)nInputChar;
// 3. 알파벳이면 대소문자를 변환해주고,
// 알파벳이 아니면 오류 메시지를 출력하는 Logic을 적용한다.**************
/* [Logic]▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤
'A' = 65 'Z' = 90
'a' = 97 'z' = 122
① 알파벳 대문자인가?
① ▶ true : 알파벳 소문자로 변환한다. ◎(문자 입력 char의 keyCode + 32)
① ▶ false : 알파벳 대문자가 아니다.
② 알파벳 소문자인가?
② ▶ true : 알파벳 대문자로 변환한다. ◎(문자 입력 char의 keyCode - 32)
② ▶ false : 알파벳 입력이 아니다. ◎("입력 오류~!!!" 출력하고 프로그램 종료한다.)
▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤*/
if ((nInputChar >= (int)'A') && (nInputChar <= (int)'Z')) //① 알파벳 대문자인가?
{
// ① ▶ true : 알파벳 소문자로 변환한다. → ◎(문자 입력 char의 keyCode + 32)
nInputChar += 32;
}
else if ((nInputChar >= (int)'a') && (nInputChar <= (int)'z')) //② 알파벳 소문자인가?
{
// ② ▶ true : 알파벳 대문자로 변환한다. → ◎(문자 입력 char의 keyCode - 32)
nInputChar -= 32;
}
else // ① ▶ false : 알파벳 대문자가 아니다. → ◎("입력 오류~!!!" 출력하고 프로그램 종료한다.)
{
System.out.println("입력 오류~!!!");
return;
}
// 4. 최종 결과 알파벳 문자의 int형 값을 char형으로 변환해 준다.***************
resultChar = (char)nInputChar;
// 5. 결과를 출력한다.************************************************
// 실행 예)
// 한 문자 입력 : A
// >> A → a
// 계속하려면 아무 키나 누르세요...
System.out.printf(">> %c → %c\n", chInputChar, resultChar);
}
}
// 실행 결과
/*
한 문자 입력 : A
>> A → a
*/
/*
한 문자 입력 : a
>> a → A
*/
/*
한 문자 입력 : 랄
입력 오류~!!!
*/