Java End-of-file

задача на hackerrank

я ее решил, подсматривая в инете

Scanner sc = new Scanner(System.in);
    int count=1;
    while (sc.hasNext()) {
        String str = sc.nextLine();
        System.out.println(count+" " +str);
        count++;
    }
}

но не совсем понял как работает метод hasNext(). смотрел в инете но все равно не до конца понял, что значит ..если имеется токен на входе. что является токеном? Как это читается по коду? hasNext() читает строку, или до пробела..вобщем пояснения нужны


Ответы (1 шт):

Автор решения: had0uken

hasNext будет возвращать всегда true, пока не достигнет конца потока, например при чтении из файла - конца файла. Вы используете ввод с клавиатуры в вашем примере. метод также будет постоянно возвращать true, пока вы не введете. ^D (символ можно получить нажав CTRL+D в Windows).

Консоль из кода по вашему примеру:

33
1 33
2
2 2
1
3 1
4
4 4
^D

Process finished with exit code 0
→ Ссылка