El problema es el siguiente:
en la línea donde int [] previousLineArray = new int [(currentLineNumber+1)];
- Creas una matriz local que sombrea a tu miembro y solo visible dentro de if
declaración. Entonces cuando llegas a esta línea: nextLineArray[(nextLineCount)] = (previousLineArray[(nextLineCount-1)
Utiliza su matriz de miembros que no fue init.