I due metodi non c'entrano nulla l'uno con l'altro.
equalsIgnoreCase() è un metodo di String che confronta due stringhe senza tenere conto della differenza fra maiuscole e minuscole. Ad esempio:
codice:
String s1 = "CIAO";
String s2 = "ciao";
System.out.println( s1.equals(s2) ); // restituirà false, perchè le due stringhe sono diverse (una in maiuscolo, l'altra in minuscolo)
System.out.println( s1.equalsIgnoreCase(s2) ); // restituirà true, perchè non tiene conto di maiuscole/minuscole
Il metodo next() (che è di Scanner, non c'entra nulla con String) restituisce il prossimo token, secondo i delimitatori standard (nel tuo caso, spazi, caratteri di tabulazione, ecc), mentre nextLine() restituisce la prossima riga letta (l'unico separatore che guarda è il newLine).
La differenza fra next() e nextLine() è che uno restituisce "una parte della riga digitata" (fino al primo spazio, al primo tab, ecc), mentre l'altro restituisce l'intera stringa... quindi, sostituendo next() con nextLine() per terminare il ciclo devi digitare solamente una lettera Q (in maiuscolo o minuscolo, non fa differenza e nient'altro).
Ciao.