2015-12-25 2 views
0

Предположим, что я изучаю этот символ строки char: Джейсон Деруло «На моей голове» начерчено.Как узнать, где отключен разделитель сканера Java?

Я использую разделитель сканера для извлечения В моей голове (в окружении двойных кавычек).

Есть ли простой способ получить место, где остановился разделитель?

Другими словами, я хочу с легкостью узнать, что последнее место, которое я остановил, это символ в моей строке string.charat (25), 25-й символ в моей строке.

ответ

1

Scanner не поставляется с этой функцией.

Вы можете добавить длину строки в некоторой int вар, а затем использовать это, чтобы проверить последнее письмо обработано:

Scanner scanner = new Scanner(System.in); 
StringBuilder builder = new StringBuilder(); 
int tracker = 0; 

while(scanner.hasNext()) { 
    String next = scanner.next(); 
    builder.append(next); 
    tracker += next.length(); 

    System.out.println("The last letter handled was "+ builder.chatAt(tracker - 1)); 
} 
+0

'StringBuilder.length()' говорит вам, сколько было вложено в него без отдельная переменная, , но это не то же самое, что и количество потребляемого материала. Если входной сигнал «...» .... X ..... Y »', где точки являются пробелами, после двух токенов вход потребляет 10 символов, но только 2 были помещены в 'builder'. –

+0

@ dave_thompson_085 'StringBuilder # length()' здесь не используется –