Notice
Recent Posts
Recent Comments
Link
Everything has an expiration date
029 - Java 삼항 연산자 : 입력 받은 알파벳의 대소문자를 변환해 주는 프로그램 본문
[Java]/Program source (java)
029 - Java 삼항 연산자 : 입력 받은 알파벳의 대소문자를 변환해 주는 프로그램
Jelly-fish 2023. 8. 29. 13:47/*=========================================
■■■ 연산자(Operator) ■■■
- 조건 연산자 == 삼항 연산자
===========================================*/
// 사용자로부터 임의의 문자 하나를 입력받아
// 대문자이면 소문자로...
// 소문자이면 대문자로...
// 알파벳이 아닌 기타 문자라면 그 문자를 그대로...
// 출력하는 프로그램을 구현한다.
// 실행 예)
// 한 문자 입력 : A
// A → a
// 계속하려면 아무 키나 누르세요...
// 한 문자 입력 : b
// b → B
// 계속하려면 아무 키나 누르세요...
// 한 문자 입력 : 7
// 7 → 7
// 계속하려면 아무 키나 누르세요...
/*
알파벳 대문자도 소문자도 아닌 상황
↑
알파벳 대문자 ? 알파벳 소문자로 변환 : (알파벳 소문자 ? 알파벳 대문자로 변환 : 있는 그대로);
-------------- ------------------- -----------
1 2 3
------------- -------------------- ----------------------------------------------------
1 2 3
*/
import java.io.IOException;
public class Test029
{
public static void main(String[] args) throws IOException
{
//System.out.println("입력받은 값 확인 : " + temp);
// 대문자? 대문자 아님?
// temp == 'A' → 65
// temp == 'B' → 66
// temp == 'C' → 67
// :
// temp == 'Z' → 90
//String result = temp >= 65 && temp <= 90 ? "대문자" : "대문자아님";
//System.out.println("결과 : " + result);
//String result = temp >= 'A' && temp <= 'Z' ? "대문자" : "대문자아님";
//System.out.println("결과 : " + result);
//String result = temp >= 'a' && temp <= 'z' ? "소문자" : "소문자아님";
//System.out.println("결과 : " + result);
// 대문자 → 소문자
// 'A'(65)→ 'a'(97) ==> +32
// 'B'(66)→ 'b'(98) ==> +32
// 'C'(67)→ 'c'(99) ==> +32
// :
// 'Z'(90)→ 'z'(122) ==> +32
// 소문자 → 대문자
// 'a'(97)→ 'A'(65) ==> -32
// 'b'(98)→ 'B'(66) ==> -32
// 'c'(99)→ 'C'(67) ==> -32
// :
// 'z'(122)→ 'Z'(90) ==> -32
char ch, result;
System.out.print("한 문자 입력 : ");
ch = (char)System.in.read();
// result = () ? () : ();
// result = (입력값 대문자) ? (소문자로 변환) : (입력값소문자) ? (대문자로 변환) : (그대로);
result = (ch >= 'A' && ch <= 'Z') ? ((char)(ch + 32)) : (ch >= 'a' && ch <= 'z') ? ((char)(ch - 32)) : ch;
// 'Q' (→ 81)
// result = (81 >= 'A' && ch <= 'Z') ? ((char)(ch + 32)) : (ch >= 'a' && ch <= 'z') ? ((char)(ch - 32)) : ch);
// result = (true && 81 <= '90') ? ((char)(ch + 32)) : (ch >= 'a' && ch <= 'z') ? ((char)(ch - 32)) : ch);
// result = (true && true) ? ((char)(ch + 32)) : (ch >= 'a' && ch <= 'z') ? ((char)(ch - 32)) : ch);
// result = true ? ((char)(ch + 32)) : (ch >= 'a' && ch <= 'z') ? ((char)(ch - 32)) : ch);
// result = ((char)(81 + 32));
// result = ((char)(113));
// result = 'q';
// 'm' (→ 109)
// result = (109 >= 65 && ch <= 'Z') ? ((char)(ch + 32)) : (ch >= 'a' && ch <= 'z') ? ((char)(ch - 32)) : ch);
// result = (true && 109 <= 90) ? ((char)(ch + 32)) : (ch >= 'a' && ch <= 'z') ? ((char)(ch - 32)) : ch);
// result = (true && false) ? ((char)(ch + 32)) : (ch >= 'a' && ch <= 'z') ? ((char)(ch - 32)) : ch);
// result = (ch >= 'a' && ch <= 'z') ? ((char)(ch - 32)) : ch);
// result = (109 >= '97' && ch <= 'z') ? ((char)(ch - 32)) : ch);
// result = (true && 109 <= '122') ? ((char)(ch - 32)) : ch);
// result = (true && true) ? ((char)(ch - 32)) : ch);
// result = (true) ? ((char)(ch - 32)) : ch);
// result = ((char)(ch - 32));
// result = ((char)(109 - 32));
// result = ((char) 77);
// result = 'M';
// '8' (→ 56)
// result = (56 >= 65 && ch <= 'Z') ? ((char)(ch + 32)) : (ch >= 'a' && ch <= 'z') ? ((char)(ch - 32)) : ch);
// result = (false && ch <= 'Z') ? ((char)(ch + 32)) : (ch >= 'a' && ch <= 'z') ? ((char)(ch - 32)) : ch);
// result = false ? ((char)(ch + 32)) : (ch >= 'a' && ch <= 'z') ? ((char)(ch - 32)) : ch);
// result = (ch >= 'a' && ch <= 'z') ? ((char)(ch - 32)) : ch);
// result = (56 >= 97 && ch <= 'z') ? ((char)(ch - 32)) : ch);
// result = (false && ch <= 'z') ? ((char)(ch - 32)) : ch);
// result = false ? ((char)(ch - 32)) : ch);
// result = ch
// result = 8;
System.out.println(ch + "→" + result);
}
}
/* 정답 풀이
public class Test029
{
public static void main(String[] args) throws IOException
{
char n;
char result;
System.out.print("한 문자 입력 : ");
n = (char) System.in.read();
//정답
result = n >= 'a' && n <= 'z' ? (char)(n-32) : (n >= 'A' && n <= 'Z' ? (char)(n+32) : n);
System.out.println(result);
}
}
*/
'[Java] > Program source (java)' 카테고리의 다른 글
030 - Java 삼항 연산자 : 입력 받은 년도가 윤년인지 판별하는 프로그램 (0) | 2023.08.29 |
---|---|
029 - Java 삼항 연산자 : 알파벳 변환 프로그램 내 풀이 (0) | 2023.08.29 |
028 - Java 삼항 연산자 : 입력 받은 값이 0인지, 짝수인지 홀수인지 판별하는 프로그램 (0) | 2023.08.29 |
027 - Java 조건 연산자 : 삼항 연산자 () ? () : ()로 입력 받은 정수가 짝수인지 홀수인지 판별하는 프로그램 (0) | 2023.08.28 |
026 - Java 논리 연산자 (&&, ||, !) (0) | 2023.08.28 |