다루두루

블로그 이미지

차케요

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

[JAVA] 자바 입력

[JAVA]자바 공부하기 2014. 2. 4. 01:47

 

 ▣자바 입력

 

■ 지난 포스팅에서 '아스키코드값'등 숫자의 기본 입력(0~9)에 대해서 알아봤었는데요. 이번에는 연속해서 입력을 받을때 발생하는 문제에 대해서 알아보도록 하겠습니다.

 자바 기본입력 : http://kd3302.tistory.com/101

 

■ 먼저 예제를 하나 살펴보겠습니다.

 

■ 첫번째로 문자를 입력받고 두번째로 숫자를 입력받기 위해서 위와 같이 코딩을 했습니다. 문제 없는 코딩같은데 결과는 뜻하지 않게 나와버립니다. 문자를 입력하는 구문에 'a'를 입력하고 '엔터'를 눌렀는데....숫자를 입력받지 않고, 바로 '-35'라는 숫자가 출력이 되버렸습니다.

 

■ 결과가 이렇게 되는 이유는 JVM은 '엔터' 까지도 하나의 입력으로 받아들이기 때문입니다. '엔터'는 "\r"과 "\n" 두개의 키가 설정되어 있습니다. 그렇기 때문에 첫번째 'a'를 입력하고 엔터를 누르면 "\r"과"\n"이 차례대로 입력이 되버리는 것입니다. 여기서 '-35'가 출력이 되는 이유는 "\r"의 아스키 코드값이 '13'인데 '-48'을 했기 때문입니다. 이런 문제를 해결하기 위해서는 엔터를 누를때 입력되는 두개의 값을 System.in.read()를 이용해서 처리해버리면 됩니다.

 

 

■ 엔터의 두개 값을 System.in.read()이 처리해서 제대로 입력을 받는걸 확인할 수 있습니다. 좀더 확실히 알아보기 위해서 다음과 같은 예제를 하나 더 살펴보겠습니다.

 

 

■ 위 예제에서 'ab'문자를 연속으로 두개 입력을 하였습니다. 결과값을 보면 a와 b는 자신들의 아스키 코드값이 출력이 된걸 알 수 있습니다. 그런데 c와 d의 값은 무었일까요? 엔터의 값인 "\r"과 "\n"의 값이 입력이 된것입니다. 정확하게 이해를 하기 위해서 다음과 'abc'를 입력해 보았습니다.

 

 

■ 'abc'의 아스키코드값이 차례대로 입력이 되고 마지막의 'd'만 엔터값의 첫번째인 "\r"의 값이 입력이 된걸 확인 할 수 있습니다. 이렇게 해서 "Enter"키가 프로그램에 미치는 영향에 대해서 알아봤습니다. 지금까지 살펴본 내용은 하나의 문자를 입력받은 내용입니다. 다음 포스팅에서는 "abcde..." " 홍길동" "12345.." 등과 같이 문자들을 한꺼번에 입력받는 방법에 대해서 알아보도록 하겠습니다.

저작자표시 비영리 변경금지 (새창열림)
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

티스토리툴바