Чтобы дождаться, когда пользователь нажмет ввод, я обычно делаю что-то вроде
new Scanner(System.in).nextLine();
Демо:
import java.util.Scanner;
class Test {
public static void main(String[] args) {
System.out.println("Press enter.");
new Scanner(System.in).nextLine();
System.out.println("Thanks.");
}
}
Выход:
Press enter.
[enter]
Thanks.
Что касается ваших правок, я все же предлагаю вам использовать Scanner
.(DataInputStream
следует использовать для двоичных данных, а не строк и символов, написанных на System.in
):
Scanner s = new Scanner(System.in);
while (true) {
String question = questionsList.get(r.nextInt(questionsList.size()));
System.out.println(question);
String input = s.nextLine();
// int input = s.nextInt(); if you want integers
if (input.equals("0"))
break;
// if (input == 0) break; if you want integers
}