p.useDelimiter(".");
Разделитель - это регулярное выражение, а .
в регулярном выражении означает «каждый возможный символ». Вы используете «каждый возможный символ» в качестве разделителя, заставляя Scanner возвращать все между каждой парой символов, что приведет к множеству пустых строк.
Вместо этого убери точку:
p.useDelimiter("\\.");
Выход:
delimiter is \.
stack
overflow