* РЕДАКТИРОВАТЬ - РЕШЕНО: После создания экземпляра Scanner Object
я использовал разделитель следующим образом:
scanner.useDelimiter("");
До этого я пробовал разделитель, который выглядел примерно так (точный код доступно в переполнении стека):
scanner.useDelimiter("\\p{javaWhitespace}");
... но это не очень хорошо работает.
Спасибо всем. Если у вас возникла та же проблема, попробуйте первый разделитель. Если это не сработает, обновите JDK до 13, а затем попробуйте снова.
Хорошо, моя цель состоит в том, чтобы пользователь ввел номер кредитной карты, который я хотел бы сохранить в ArrayList of Integers и впоследствии передайте этот список моим функциям, которые будут выполнять алгоритм Луна для проверки предоставленного числа. Как только пользователь нажимает Enter, обработка начинается. Это консольное приложение, ничего особенного.
Все прекрасно работает ... кроме пользовательского ввода. Ни один пользовательский ввод не сохраняется в объявленном ArrayList. Я вставил сообщение для печати, чтобы дать мне размер списка сразу после соответствующего while-l oop и .... yep, 0. Я также передаю этот список в пользовательскую функцию lengthChecker(ArrayList<Integer> list){}
после соответствующей while-l oop и печатает мое собственное сообщение об ошибке.
Я объявил локальные переменные int в области while-l oop, и это не сильно помогло. Я попытался получить вводимые пользователем данные в виде строк и сохранить их в ArrayList<String> list;
с последующим анализом ввода, но это не сработало (особенно потому, что мне нужно, чтобы клавиша Enter действовала как разделитель, чтобы можно было выполнить следующие шаги )
В любом случае, вот код рассматриваемой функции. Я упускаю что-то очевидное или я просто перестал программировать?
public void userInput() {
Scanner scanner = new Scanner(System.in);
List<Integer> list = new ArrayList<Integer>();
System.out.println("Please input the card-number to be checked then press Enter: ");
while(scanner.hasNextInt()) {
list.add(scanner.nextInt());
}
System.out.println("Length of list: " + list.size());
listLengthChecker(list);
scanner.close();
}
Заранее спасибо.