チャーリーのC

技術系の記録をしていきます。

BufferedReaderの初歩的なこと

プログラミングで彼女をつくるが去年有名になりましたね。

paizaのオンラインハッカソンvol7で、
プログラムの問題を解いて、女の子の着せ替えパーツを手にいれて遊ぶゲームのようだ。

友達がやっていたので僕もちょっとだけやってみた。

paizaのスキルチェックと同じような形式で問題が出されていて、
Java言語を選択すると、

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
public static void main(String[] args) throws Exception {
// 自分の得意な言語で
// Let's チャレンジ!!
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
System.out.println("XXXXXX");
}
}

デフォルトでこのコードが表示される。

最初見たときは なにこれ?と思ったが、
そういえばBufferedReaderって授業で少しやったなぁと思い出しました。

入力が
foo
bar
のようなときは
br.readLine()を二回使えばなんとかなったものの、

入力が
foo bar
のようなとき、どうやって一つずつ読み込めばいいのかわからず。

調べて見たらScannerがあったので、使ってみたところうまくいった!

しかし、よくよく考えたらScannerで出来るならデフォルトのコードはScannerでいいのでは。

やはりBufferdReaderで出来るのだと思い、先生に聞いてみることに。

解決方法として、
splitを使い、読み込んだ文字列を2つに分ける?方法を教えてもらった。
(BufferdReaderとかScannerとかあまり関係なかった・・・。

String[] tokens = line.split(" ");

(" ")はどの文字で区切るかで、
line.split("a");
と書くと
foo b と rで分けられるようだ。


かなり初歩的なメモでしたー。

おわり