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で分けられるようだ。
かなり初歩的なメモでしたー。
おわり