2012-01-25 6 views
5

지금까지는 Scanner 객체를 사용하여 지금까지 입력 내용을 가져 왔으며 BufferedReader의 작동 방식을 배우고 싶습니다. 나는 그것을 시도하고 그것은 문자열에 대해서만 작동하는 것 같다. 누군가 int와 double을 사용하는 방법을 보여 줄 수 있습니까? 그리고 같은 줄에 두 개의 문자열 입력을 어떻게 요구합니까? 감사.BufferedReader를 사용하여 Java에서 입력 받기

답변

7

생각해 추상화의 다른 수준이 아닌 것으로 교환 부품에 인 것으로 BufferedReaderScanner "같은 일을." 나는 이것이 당신이 매달린 근본적인 문제라고 생각합니다.

BufferedReader은 어떤 의미에서는 Scanner보다 "더 간단합니다"입니다. BufferedReader은 단지 String입니다.

ScannerBufferedReader보다 훨씬 강력합니다. API를 사용하여 다양한 유형의 객체를 쉽게 추출 할 수 있습니다.

BufferedReader을 기본 구성 요소로 사용하여 Scanner을 작성한 것 같습니다. Scanner을 사용하여 BufferedReader을 쓰는 것은 슬레지 해머가있는 개미를 죽이는 것과 같습니다.

+3

+1 '쓰레기로 개미를 죽이는 것'. 정말 개미 나 망치에 재미 있지 않습니다. – Perception

2

예, bufferedreader는 문자열 만 사용합니다. Integer.parseInt (value) 또는 Double.parseDouble (value)를 사용하여 int 또는 double로 변환해야합니다.

+0

괜찮습니까? 동일한 줄에 두 개의 String 입력을 어떻게 요청합니까? –

+0

스캐너를 사용하면 scan.next() 함수를 사용할 수 있지만 bufferedreader를 사용할 수 있습니까? 감사합니다 –

+0

라인은 "\ n"을 기준으로 구별됩니다. – tazo

1

기본적으로 BufferedReader는 입력 스트림을 인수로 사용합니다.

내장 메서드를 사용하여 문자열을 ints and doubles으로 구문 분석해야합니다.

처럼 :

BufferedReader br = new BufferedReader(new FileReader("input1.txt")) 
String line = br.readLine(); 
//more logic here 

int number = Integer.parseInt(brstring); 
double number = Double.parseDouble(brstring); 
+0

동일한 줄에 두 개의 String 입력을 요청하는 방법을 알려주시겠습니까? 덕분에 –