Take a 챨 입력을 스캐너
나는 할 수 있는 방안을 찾는 시행하십시오 챨 'a' 키보드 입력.
전화했는데 사용:
Scanner reader = new Scanner(System.in);
char c = reader.nextChar();
이 방법은 doesn& # 39, t 존재합니다.
'C' 으로 'String' 등을 찾았다. 그러나 나는 항상 모든 사건의 작업하십시오 않을 것이라고 때문에 지역 내 방식을 다른 방법 '에는' 챨 표시됨과 입력입니다. 그러므로 내가 취할 수 있는 방법을 찾아야 할 명시적으로 챨 표시됨과 입력입니다.
어떤 도움이 될까?
112
21
첫 번째 문자 '에서' 스카너스네스트 시행하십시오 수 있습니다.
Exactly 사용하도록 한 문자를 사용할 수 있습니다.
Strictly 사용하도록 한 문자를 사용할 수 있습니다.
설정 스캐너:
이 후 단일 문자 () '는' 레이드리네스트 반환되므로 구체화하십시오.
Api 에서 얻을 수 있는 방법은 없는 문자 단위이다. ' ()' 와 '스테링스하르트 호출하십시오 스카너스네스트 통해 문자열을 내려받습니다 합니다 (0)' 의 방법을 반환되었습니다 구체화하십시오.
그냥 돌아올 수도 있습니다 () '를 통해 첫 공백' 에서 문자열을 호출하십시오 트리밍할 분리하십시오 공백.
이 세 가지 방법으로 외곽진입 문제:
반드시 '다음 ()' 의 첫 번째 문자를 문자열의 푸십시오 스캐너, (예를 들어 'charAt (0)') 스케쳐내 선의 미삭 읽을 수 있는 문자로, 나머지 문자는 반복할 구체화하십시오. 이 코드는 다른 대답을 한다.
사용 '세드리미터 (" ";)' 은 구분 빈 문자열을 설정할 수 있습니다. 이로 인해 '다음 ()' 을 tokenize agent. 않는비즈니스 문장열 정확히 하나의 문자 길다. 그럼 다음 리하르트 (0) '을 거듭 호출하십시오 수 있습니다' () 는 문자를 사용할 수 있습니다. 그런 다음 구분 및 다시 원래 값으로 설정합니다 스캐닝중 일반적인 방법으로!
List. 판독기에서 대신 apiu 스캐너 제공한다. 이 방법은 하나의 문자 입력 스트림을 레이더그리드 () '는' 에서 읽습니다. 예를 들면 다음과 같습니다.
판독기에서 판독기에서 = new 린퍼트슈타림레이더 (System.in). int (중국) = 레이더그리드 (); if (ch! = - 1) EOF 확인할지 {/ / // 우리는 문자. }
'System.in' 를 통해 콘솔에서 읽을 때, 입력, 단, 일반적으로 버퍼된 운영 체제에서 " released". 응용 프로그램 사용자가 유형은상위 입력합니다. 그래서 응용 프로그램의 경우, 이는 개별 키보드 응답하려면 생각이 획에는 not going to work. 사용자가 필요로 하는 운영체제별 네이티브 코드를 위한 몇 가지 문제를 해결할 수 있는 물건을 선반가공 끄기나 선 버퍼링 콘솔용 os 레벨에서.
참조:
39, 사실은 이 doesn& 빗나갔다.
몇 가지 좋은 설명 및 참조입니다 이 질문: https://stackoverflow.com/questions/18746185/why-doesnt-the-scanner-class-have-a-nextchar-method 구분 기호를 사용하여 ", 스캐너, 토큰, 이는 꽤 열기을 pattern" 끊어집니다 입력할 수 없었다. 예를 들어 이 사용할 때
입력 (input) 이 선 ", (1 + 9) / (3 - 1) 개+6 2" -; 다음 호출이 " 되돌려줍니다, (1", 캜 설정됩니다 & # 39, (& # 39, 및 you& 떨어지는 1& # 39, & # 39, # 39, ll end up 다음 () 에서 다음 콜
일반적으로 가져올 때 문자 싶은 무시하려면 공백. 이 협력했습니다 가져다줄래요:
참조: https://stackoverflow.com/questions/1181271/regex-to-match-a-single-character-that-is-anything-but-a-space
이 문제를 해결할 수 있습니다,) 의 키보드 입력을 한 해 한 챨 " time". 간단히 말해. 또한 사용하지 않고도 모든 입력 버퍼 선택해제한 부작용이 없는 스캐너를 이용해 이 있다.
All you need is 경우 C 언어 () 과 동일한 기능을 " 제처 "; 그런 다음 이 기능을 사용할 수 멋지구리해요. () 이 큰 장점 중 " 시스템.인그리드 "; 는 버퍼 초과 각 챨 너회의 grab 지워지지 않습니다. 그래서 계속 필요한 경우 모든 it 의 사용자들이 입력하는 입력 버퍼 미삭 내려받습니다 수는 있습니다. 이 ',' (0), " 리하르트 " 챨 c = 스카너스네스트 () 는 챨 않지만, 길을 잡아 선택취소합니다 것을 의미한다.
ᄋ "이번 도움됐네, 앤 굿 럭! 추신 그러니까말이야 있지만, 이것은 정말 오래된 게시물로의 제 대답은 다른 사람들을 또한 새로운 분석 및 재연됩니다 바란다 이 문제가 도움이 될 수 있다.
가장 좋은 방법은 시행하십시오 스캐너에 클래스는 문자 입력:
예를 들면 다음과 같습니다.
문자 세트를 만들 때,, the reader) 가 입력으로 " 말하도다 abcd" 고려해보십시오 서신입니다 a& # 39, & # 39, 즉, 첫 번째 문자만
그러나 엄밀히 말해 사용할 때 단 하나의 문자 입력 합니다. 만약 둘 이상의 문자 입력 가 다음 판독기에서 입력입니다 시행하십시오 않습니다.
예를 들어, 입력 변수, no, you give 입력입니다 " abcd" 수행됨을, 그리고 c Null 값을 가지게 됩니다.
첫 번째 문자 입력 판독기에서 콩지름에 사용자 정의 대신 더 빠른 결과를 추출 충스러웠으니 판독값 구체화하십시오. 사용자 정의 링크 스칸레이더 및 설명: https://gist.github.com/nik1010/5a90fa43399c539bb817069a14c3c5a8
코드 스캐닝중 챨:
이거 드세요. 챨 c = S. 네스틀린 리하르트 () (0);
(0) 메서드를 사용하여 구체화하십시오 내려받습니다 합니다 () 와 호출하십시오 스카너스네스트 스테링스하르트 http://cowcast. creativecow. 반환되었습니다 구체화하십시오.
출력입니다
한 문자만 챨 afaq 레이드리네스트 리하르트 (0), c = (." ";)
됩니다.
39 의 that& 거잖나.
이 시도하시겠습니까
그나저나 너 can& # 39, t take a 챨 직접 표시됨과 입력입니다. 위에서 알 수 있듯이 문자열으로 처음 수행됨을 charAt (0), 다음 및 저장할 수 있다.
타입 캐스팅 사용할 수 있습니다.
이 때문에 시행하십시오 & # 39 에서 문자열 입력을 하면, & # 39, 다음 () 함수 그런데 문자 # 39, & # 39 char& 변환될지 인한 것으로 보인다. 언급된 브래킷에.
이 방법을 통해 대상 데이터 입력 데이터 유형을 변환되게 거론하며 브래킷에 호출됨 타이펙팅. 작동하잖아 가져다줄래요 좋겠다 작동하잖아 for u:)
문자 색인입니다 찾기 위해 지정된 스팅, 이 코드를 사용할 수 있습니다.