다루두루

블로그 이미지

차케요

공부하면서 정리하는 노트같은 블로그입니다.

[JAVA] 자바 기본 입력 받기

[JAVA]자바 공부하기 2014. 2. 3. 14:34

 

 ▣ 자바 기본 입력 받기

 

■ 자바에서 입력과 출력을 담당하는 클래스는 System 클래스 인데요. 중요한 만큼 이 클래스의 객체도 생성할 수 없도록 하고 있습니다. 시스템 클래스는 "InputStream"과 연결되어 키보드의 입력을 처리할 수 있는 [in], "PrintStream"과 연결되어 콘솔의 출력을 처리할 수 있는 [out], 그리고 역시 "PrintStream"과 연결되어 콘솔에 출력을 처리하지만 출력의 내용은 일반적으로 '에러 메시지'를 표시할때 사용하는 [err] 등의 필드로 구성되어 있습니다. 즉, 입력을 받고 출력을 하기 위해서는 System 클래스를 사용해야 한다는 말이 됩니다. 이 클래스의 모든 멤버는 "static"으로 되어 있으서 클래스명(System)으로 직접 접근하여 사용할 수 있습니다.

 

■자바에서 키보드로 입력을 받는 방법을 알아보도록 하겠습니다. 

 

 ▶ int a = system.in.read()

 [아스키 코드 값 1개 입력받기]

어떤 프로그램이 진행을 하다가 System.in.readLine()을 만나게 되면 입력되는 내용을 기다리면서 커서가 깜빡이게 됩니다. 다음 예제에서 보듯이 1~3까지 출력이 되고, System.in.read()를 만나자 어떤 입력을 기다리면서 커서가 깜빡이고 있습니다. 이때 엔터를 치게 되면 다음칸에서 '4'가 출력이 되게 됩니다.

 

이제 위의 예제에서 어떤 키보드 값을 입력받고 무엇을 입력받았는지 출력을 해보도록 하겠습니다. 이번 예에서는 대문자 'A'를 입력 받고 그 내용을 출력해보겠습니다

입력받을 값을 'x'라는 변수에 담고, x를 출력하도록 하고 있는데요. 입력한 대문자 'A'와 숫자 65가 출력이 되는걸 확인할 수 있습니다. 이때 대문자 A를 입력했는데 왜 65라는 숫자가 출력이 되었을까요? 그것은 System.in.read()가 입력받는 방식이 아스키코드값이기 때문입니다. 그렇개 때문에 A에 대한 코드값인 65가 출력이 된것입니다. 그렇다면 숫자대신 'A'가 그대로 출력이 되게 하려면 어떻게 해야 할까요? 다음 코드를 사용하면 됩니다.

 

 ▶ char b = (char)System.in.read()

[아스키 코드 값으로 입력받은 데이터를 char형으로 변환해서 문자로 만들기]

 

입력받을 부분을 위의 내용을 적용해서 작성해서 출력해보겠습니다.

이렇게 하면 입력한 문자열이 그대로 출력이 됩니다. 

 

그렇다면 숫자의 경우는 어떨까요? 예를 들어 0~9까지의 int형 숫자를 입력받는 상황이라고 한다면 숫자 '0' 아스키 코드값이 48이고. [1=49], [2=50]....[9=57] 의 아스키 코드값을 가지고 있습니다. 즉 자신인의 숫자에 [+48]이 되어 있는 상태라고 이해하면 됩니다. 그렇다면 0~9 사이의 숫자를 눌렀을때 그 누른숫자 그대로 출력을 하고 싶다면 [-48]을 해버리면 되는것입니다. 이때 숫자로 [-48]을 해도 되고, [-'0']해도 됩니다. 여기서 '0'은 문자 0 이라고도 할 수 있고, 아스키 코드값 48 이라고도 할 수 있습니다.

 

▶ int c = System.in.read()-48;

▶ int d = System.in.read()-'0';

[아스키 코드값으로 입력받은 0~9의 숫자를 int형으로 변환하기]

 

예를 들어보겠습니다. 숫자 '7'을 입력하고 싶다고 가정을 하면 7에 대한 아스키코드값이 55이므로 55-48 하면 7이 되는것입니다.

 

저작자표시 비영리 변경금지 (새창열림)
Posted by 차케요

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

카테고리

NEW (900)
아이폰 개발 기초 (7)
취미 (16)
아두이노 (16)
[안드로이드] 어플만들기 (77)
안드로이드 기초 다지기 (61)
슈팅게임 만들기 (4)
[JAVA]자바 공부하기 (48)
C언어 알고리즘 (61)
[Unity3D]유니티3D 강좌 (7)
컴퓨터 (325)
포토샵CS2 강좌 (6)
유용한 프로그램 (244)
리눅스 노트정리 (22)
임베디드 리눅스 (11)
New블로그 (9)
음식의 효능 (4)
일반상식 (56)
HTML 공부 (40)
포토샵 공부 (36)
엑셀 (6)
파워포인트 공부 (19)
노트정리 (38)
일상 (33)
TV영화 (85)
방명록 : 관리자 : 글쓰기
차케요's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

다루두루

공부하면서 정리하는 노트같은 블로그입니다.

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • NEW (900)
    • 아이폰 개발 기초 (7)
    • 취미 (16)
      • 아두이노 (16)
    • [안드로이드] 어플만들기 (77)
      • 안드로이드 기초 다지기 (61)
      • 슈팅게임 만들기 (4)
    • [JAVA]자바 공부하기 (48)
    • C언어 알고리즘 (61)
    • [Unity3D]유니티3D 강좌 (7)
    • 컴퓨터 (325)
      • 포토샵CS2 강좌 (6)
      • 유용한 프로그램 (244)
    • 리눅스 노트정리 (22)
      • 임베디드 리눅스 (11)
    • New블로그 (9)
    • 음식의 효능 (4)
    • 일반상식 (56)
    • HTML 공부 (40)
    • 포토샵 공부 (36)
    • 엑셀 (6)
    • 파워포인트 공부 (19)
    • 노트정리 (38)
    • 일상 (33)
    • TV영화 (85)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바