時ソバ
昨日,生協で買い物したときに「時ソバ」をやってしまいました.
パンとジュースを買って,レジ打ち(バーコードリーダですが)の時に話しかけたら,ジュースが会計から漏れてしまいました.
レジのお姉さんは気が付かなかったので,こちらから言ってお金はちゃんと払いましたよ?
そのとき話してたのですが,工学部の生協食堂(1F)にもエアコンが入りましたよ!
pc 関係
kachuha の CD ドライブが認識されなくなっていたので,筐体をあけて見てみると,IDEケーブルが随分とくたびれていました.
前の M/B のときに結構無理な取り回しをしていたのでした.
で,ケーブルを交換すると,無事認識されました.
ついでに,win2k と Redhat 9 のデュアルブートにして,遊びつつバックアップマシンとして使うことにします.
Java 関係
まだ java 流のコードの書き方(というよりもキチンとしたコード書き)に慣れていないので,大きなプログラムを作る前に,コードを推敲してみる.
まだ酷いものですが,前よりはましになったかな.
// Tiff データ ファイルを読み込み IDF を解析する import java.io.*; class AnalizeTiffFormat { int tmpMinOfData = 240; int tmpMaxOfData = 540; int tmpNumberOfTag = 0; int tmpMaxOfTagNumber = tmpMinOfData; int tmpMinOfTagNumber = tmpMaxOfData; String [] key = new String [] {"", "", "", "", "", ""}; String [][] matrix = new String [tmpMaxOfData - tmpMinOfData][6]; int i = 0; int j = 0; String DefaultTagFileName = "tags.txt"; /* Tag data の初期化 */ void Initialize() { LoadTagFile(DefaultTagFileName); } /* 10進コードに該当する tag が存在するかどうかを返す */ boolean ExistTagNumberOf (int i) { if (i < tmpMinOfData || tmpMaxOfData < i) { return (false); } else if (matrix [i - tmpMinOfData][0] == null) { return (false); } else { return (true); } } /* IDF の Name を返す */ String IDFName(int i) { return (matrix [i - tmpMinOfData][0]); } /* IDF の 10進コード を返す */ int IDFDecimal(int i) { // return (i); return (Integer.valueOf(matrix [i - tmpMinOfData][1]).intValue()); } /* IDF の 16進コード を返す */ String IDFHex(int i) { return (matrix [i - tmpMinOfData][2]); } /* IDF の Type(byte, ascii, short, long, rational) を返す */ String IDFType(int i) { return (matrix [i - tmpMinOfData][3]); } /* 読み込んだ IDF データの個数を返す */ int NumberOfTag() { return (tmpNumberOfTag); } /* Tag data file を読み込む */ private void LoadTagFile( String TagFileName ) { try { FileReader File = new FileReader( TagFileName ); for (int k = tmpMinOfData; k < tmpMaxOfData; k++) { matrix [k - tmpMinOfData][0] = null; } int a; i = 0; while(( a = File.read() ) != -1 ) { if (a == '\n') { i++; int num = Integer.valueOf(key[1]).intValue(); for (int k = 0; k < j; k++) { matrix [num - tmpMinOfData][k] = key [k]; key [k] = ""; } if (num >= tmpMaxOfTagNumber) { tmpMaxOfTagNumber = num; } if (num <= tmpMinOfTagNumber) { tmpMinOfTagNumber = num; } j = 0; } else if (a == '\t') { j++; } else { key [j] += (char) a; } } tmpNumberOfTag = i; File.close(); } catch ( Exception errorvalue ) { errorvalue.printStackTrace(); } } } class TiffFormatTest { public static void main( String args[] ) { AnalizeTiffFormat Tiff = new AnalizeTiffFormat(); Tiff.Initialize(); for (int i = 250; i <= 539; i++) { if (Tiff.ExistTagNumberOf(i) == true) { System.out.println(i + ": " + Tiff.IDFName(i)); } else { System.out.println(i + ": /"); } } } }