nextDouble()
читает только токен в строке и не будет читать всю строку.поэтому, когда nextLine()
будет выполнен, он прочитает оставшуюся строку, а name
, введенный вами в консоли, будет прочитан nextDouble()
, и это выдает InputMismachtException
Сканирует следующий токенввод как двойной.
Поэтому, чтобы избежать этого, вы можете использовать nextLine()
и разобрать значение в Double
Вы можете использовать nextLine()
и проанализировать значение вDouble
while (checkUserInput != 0) {
System.out.println("Please enter the customer name");
customerName.add(userInput.nextLine());
System.out.println("Please enter the customer amount");
customerSpend.add(Double.parseDouble(userInput.nextLine()));
if (customerSpend.get(customerSpend.size()-1) == 0){
checkUserInput = 0;
}
}