Так что я застрял с этой проблемой в течение недели.Получение нуля после чтения столбца целочисленных значений из файла
Мне нужно получить значения из последнего столбца файла, который я читаю. Но когда я пытаюсь прочитать этот массив вне цикла 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 = новые ИНТ [строки];' выше while loop – maskacovnik
На каждой итерации вы переписываете свой массив новым (содержащий только 0s): 'cla = new int [lines];'. – Berger
И 'row = 0' выше while while – maskacovnik