Jak sam wskazujesz jest kilka linijek :)
scanner.next();
scanner.nextDouble();
po wykonaniu wczytania pozostają w tej samej lini, więc jak dojdziesz do końca lini, to scanner pozostaje na tej lini, nie przechodzi do nowej stąd nie ma co wczytać.
Po zakończeniu wczytania lini .... zrób
scanner.nextLine();
wtedy przejdziesz do nastepnej lini i dalej możesz wykonywać to co wykonujesz
The java.util.Scanner.hasNextLine() method returns true if there is another line in the input of this scanner. This method may block while waiting for input. The scanner does not advance past any input.
Dlaczego się tak dzieje? hasNextLine() - zwraca Ci boolean'a czyli tak/nie prawde/fałsz czy istnieje nastepna linia, ale nie przenosi Cię do niej... stąd musisz jakoś się do niej przenieść