📚 Study/Java
JAVA :: Test015_자바 기본 입출력 (System.in.read())
bono-hye
2023. 9. 7. 22:43
『System.in.read()』
- 입력 대기열로부터 한 문자만 가져옴
- 단, 입력받은 하나의 문자를 문자 그대로 가져오는 것이 아닌,
ASCII Code 값(정수 형태)로 반환하게 된다.
『System.in.skip(2)』
- 입력 대기열에 남아있는 『\r』과 『\n』을 스킵(건너뛰기)
import java.io.IOException;
public class Test015
{
public static void main(String[] args) throws IOException
{
/*
// 주요 변수 선언
char ch; //-- 문자
// 연산 및 처리
System.out.print("문자 하나 입력하세요 : "); // A
ch = (char)System.in.read(); //-- System.in.read()는 정수 형태이기 때문에 (char)로 강제 형 변환 실행
// ----------------
// 65
// -----
// 문자로 변환
// 결과 출력
System.out.println(ch);
*/
// 주요 변수 선언
char ch; //-- 입력받은 문자를 담을 변수
int n; //-- 입력받은 정수를 담을 변수
// 변수 추가 선언
//char temp; //-- 임시로 테스트할 변수
// 연산 및 처리
// - 사용자에게 안내 메세지 출력
System.out.print("한 문자 입력 : ");
ch = (char)System.in.read();
// check~!!
// ※ 입력 대기열에 남아있는 『\r』과 『\n』을 스킵(건너뛰기) (A 뒤에는 \r과 \n이 포함 (엔터) 따라서 이걸 스킵해야함)
System.in.skip(2);
//-- 매개변수(2)에 의해 두 글자를 읽어내지 않고 건너뛴다. (버린다.)
System.out.print("한 자리 정수 입력 : ");
//n = System.in.read(); // 아스키 코드를 정수로 다시 변환해야 함!!!!!!!!!!!!!!!!!!!!!!!!!!!
//temp = (char)System.in.read();
n = System.in.read();
// 1 → 49
// 2 → 50
// 3 → 51
// :
// 9 → 57
// 입력받은 n의 값을 48만큼 감소시켜라~!!!
n -= 48;
//결과 출력
System.out.println(); //-- 개행
System.out.println(">> 입력한 문자 : " + ch);
//System.out.println(">> 입력한 정수 : " + n);
//System.out.println(">> 입력한 정수 : " + temp);
System.out.println(">> 입력한 정수 : " + n);
}
}
[Test015 실행 결과]
한 문자 입력 : A
한 자리 정수 입력 : 9
>> 입력한 문자 : A
>> 입력한 정수 : 9
계속하려면 아무 키나 누르십시오 . . .