Я хотел бы управлять StringTokenizer
NoSuchElementException
, когда поля имени пользователя или пароля не отображаются, но я не могу управлять им.Управление NoSuchElementException StringTokenizer
final StringTokenizer tokenizer = new StringTokenizer(
usernameAndPassword, ":");
System.out.println(usernameAndPassword);
while (tokenizer.hasMoreTokens()) {
String tmp1 = tokenizer.nextToken();
if (tokenizer.nextToken() == null) {
System.out.println("pas d'username");
username = "";
} else {
username = tmp1;
}
String tmp2 = tokenizer.nextToken();
if (tokenizer.nextToken() == null) {
System.out.println("pas de password");
password = "";
} else {
password = tmp2;
}
}
Спасибо.
nextToken удаляет фактический маркер из Tokenizer (это важно becuase во второй раз вы называете nextToken вы фактически извлекая следующую лексему), так что вы удаляете 4 маркеров за каждую итерацию цикла. https://docs.oracle.com/javase/8/docs/api/java/util/StringTokenizer.html#nextElement-- – AlexC