Внутри цикла while эта строка:
read.nextLine();
выполняет чтение строки, но нигде не сохраняет ее.
Также я вижу, что циклы не нужны и создание 2-го Scanner
объекта, для чего?
Вам нужно прочитать все строки внутри массива names
, а затем перебрать этот массив, чтобы извлечь фамилии.
Это можно сделать в одном цикле при чтении файла, но для удобства чтения я использую 2 цикла:
public static void main(String[] args) throws FileNotFoundException {
final int TOTALNAMES = 15;
int cntr = 0;
String [] names = new String[TOTALNAMES];
String [] firstname = new String[TOTALNAMES];
String [] lastname = new String[TOTALNAMES];
File file = new File("Names12.txt");
Scanner read = new Scanner(file);
printHeading();
while(read.hasNext() && cntr < TOTALNAMES){
cntr++;
names[cntr - 1] = read.nextLine();
}
read.close();
for(int i = 0; i < cntr; i++){
//firstname[i] = names[i].substring(0, names[i].indexOf(" "));
lastname[i] = names[i].substring(names[i].indexOf(" ") + 1);
System.out.println(lastname[i]);
}
}