これで、今この問題が1週間続きました。ファイルから整数値の列を読み込んだ後にゼロになる
私が読んでいるファイルの最後の列から値を取得する必要があります。 しかし、私はwhileループの外側で配列を読み取ろうとすると、値の代わりにゼロが得られます。
しかし、whileループ内で同じ配列を読み込んだ場合、値は完全に良好です。
BufferedReader br2 = new BufferedReader(new FileReader("/home/manofsteel/yeast_training.txt"));
// Starting to read a file line by line.
while((line = br2.readLine()) != null)
{
row = 0;
String[] valsNew = line.trim().split("\\s+"); /* Getting rid of all
spaces since the file
contains a lot of them. */
cla = new int[lines];
cla[row] = Integer.parseInt(valsNew[8]); /* 8 because i need the
values from last column. */
row++;
}
for(int i=0;i<cla.length;i++)
{
// Trying to print back that array.
System.out.println("x"+cla[i]);
}
}
私は取得しています出力され
x0
x0
x0
x0
私が欲しいの出力は
x4
x1
x1
x1
x2
x7
x2
x7
任意の提案は歓迎されています。
入力ファイルを共有する必要があると思われる場合は、私に教えてください。
ありがとうございました。
上記の 'cla = new int [lines];'行を移動する必要がありますwhileループ – maskacovnik
各繰り返しでは、配列を新しいもの(0だけを含む)で上書きします: 'cla = new int [lines];'。 – Berger
そして 'row = 0' while whileループも – maskacovnik