そこで、2 つの LinkedList の内容を次の形式のテキスト ファイルに書き込むプログラムを作成しました。
「ヘッダー行 1」
「ヘッダー行 2」
「ヘッダー行 3」
x1 y1
x2 y2
x3 y3
...
x1023 y1023
主な書き込みコードは次のとおりです。
LinkedList<Double> xVal;
LinkedList<Double> yVal;
LinkedList<String> header;
Analize test;
Scanner scan = new Scanner(System.in);
FileWriter fstream;
BufferedWriter out;
int i=1;
test = new Analize(i);
test.addData();
test.calculate();
//Writing ModY
fstream = new FileWriter("BLOCK " +i+"_ModY.txt");
out = new BufferedWriter(fstream);
header = test.getHeader();
xVal=test.getXList();
yVal=test.getYListMod();
//Write Header
out.write(header.get(0)+"_modY");out.newLine();
out.write(header.get(1));out.newLine();
out.write(header.get(2));out.newLine();
for(int j=0;j<xVal.size();j++)
{
double x=xVal.get(j);
double y=yVal.get(j);
out.write(x+"\t"+y+" "+j);out.newLine();
//test code
System.out.println(xVal.get(j)+" "+yVal.get(j)+" "+j);
//System.out.println(j);
}
本当に面倒なことは、テスト コード行 System.out.println(xVal.get(j)+" "+yVal.get(j)+" "+j); です。System.in の正しい値で実際に 1023 回実行されましたが、ファイルには 558 番目までの値しかありません。
ここで何が起こっているのかよくわかりません...