2012-01-25 13 views
5

これまでScannerオブジェクトを使用して入力を取り込み、BufferedReaderの仕組みを学習しました。私はそれを試して、それは文字列のためだけに働いているようだ。誰かにintとdoubleでそれを使う方法を教えてもらえますか?同じ行に2つのString入力を求めるにはどうすればいいですか?ありがとう。BufferedReaderを使用してJavaで入力を受け取ります

答えて

7

考えるという互換の部分よりも、抽象化の異なるレベルであるとして、「同じことを行います。」私はこれがあなたが悩んでいる根本的な問題だと思う。

BufferedReaderは、ある意味ではScannerよりも「シンプル」です。 BufferedReaderはちょうどStringを読み込みます。

Scannerは、BufferedReaderよりはるかに堅牢です。さまざまな種類のオブジェクトを簡単に抽出できるAPIが用意されています。

BufferedReaderを基礎ブロックとして使用してScannerが書かれていると思います。 Scannerを使用してBufferedReaderと書くのは、スレッジハンマーで蟻を殺すようなものです。

+3

+1は「大惨事で蟻を殺している」。本当に蟻やハンマーのどちらにとっても楽しいものではありません。 – Perception

2

はい、bufferedreaderは文字列のみを取ります。 Integer.parseInt(value)またはDouble.parseDouble(value)を使用してintまたはdoubleに変換する必要があります。

+0

大丈夫、同じ行に2つの文字列入力を求めるにはどうすればよいですか?スキャナーで –

+0

を使用すると、scan.next()関数を使用できますが、bufferedreaderを使用できますか?ありがとう –

+0

行は "\ n"に基づいて区別されます。 – tazo

1

BufferedReaderは基本的に入力ストリームを引数として取ります。

文字列を解析してints and doublesに組み込みのメソッドを使用する必要があります。

同様:BufferedReaderScanner

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

同じ行に2つの文字列入力を求める方法を教えてください。おかげで –

関連する問題