真 もわ爛漫

しゃーら、しゃーらしゃーら

今だからこそJava puzzlersを見るべきだよね

もう割と大昔だ。。。

冒頭から「ぇー」とか思う問題なんだけど、JavaでもintとIntやURIやURLやら瑣末な差で大変珍妙なバグを招くことがあり、知らないと最後の最後 (約1日のデバッグの末)「まさかこの挙動は」などと思って唖然とすることがある。そういう意味で、珍妙な問題だからといって忌避せず解けるかどうかで判断していただきたく。

advanced topicとしては (つっても大学の学科的には常識の範囲だけど) synchronized 挟まなかったら残念な事態になったでござる、みたいなものがあり、こちらは下手すると三流技術者では永久に直せない。「お前の環境がおかしいのですよ。どういう状態ですか」「マルチコアです!」みたいな戦いをJavaプログラマーの何割が戦いぬけるんだろうね。

ぱずらーじゃないけどおまけ。JavaのInputStreamを使うのだよー

ファイルを読み込み、それを画面に出力するプログラムを考える。入力時には使用される文字コードは、最初は"ASCIIのみ"だが、ファイルの各行の先頭に文字コードが指定されていることがあり、その行はその文字コードで読む必要がある。幸いそれらの文字コードはASCIIを含むものであり(EBCDICとかではない)文字コードの指定自体にはASCII外の文字は含まれない。つまりShift_JISとかであり「シフトJIS」などとは書いてない
どうパースするのが良いだろうか