Как реализовать пустой ввод, используя java.util.Scanner
Подскажите, пожалуйста, есть ли возможность получить пустой токен в java.util.Scanner? Например, я установил разделитель "]". Использую метод next(), ввожу один этот символ и ничего не происходит, то есть так как до разделителя ничего нет, он не попадает в токен. Если я введу повторно, то поймает перенос строки и ввод засчитается. Моя же цель заключается в том, чтобы после ввода разделителя ввод прекратился бы сразу, чтобы не было необходимости что-либо вставлять перед разделителем. То есть, реализовать пустой ввод.
package test;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
scanner.useDelimiter("]");
String input = scanner.next();
scanner.close();
System.out.println(input);
}
}
Ответы (1 шт):
Автор решения: Nowhere Man
→ Ссылка
Введите два разделителя подряд и у вас будет пустой токен.
public static void main(String[] args) {
try (Scanner scanner = new Scanner("]]").useDelimiter("]")) {
String input = scanner.next();
System.out.println("'" + input + "' is empty? " + input.isEmpty());
}
}
'' is empty? true
