-1

Почему появляется сообщение о возникновении NumberFormatException? Если использовать val initialMoney = nextLine().toInt(), то всё ок!? То есть приходится сначала вводить строку, а только потом преобразовывать её в число. Почему сразу нельзя ввести число и хранить его в переменной???

введите сюда описание изображения

import java.util.Scanner

fun main() {
    val scanner = Scanner(System.`in`)

    var initialMoney = scanner.nextInt()
    val numbers = scanner.nextLine().split(" ")
    for (number in numbers) {
        val digit = number.toInt()
        initialMoney -= digit
        if (initialMoney < 0) {
            println("Error, insufficient funds for purchase. You have ${initialMoney + digit}, but you need $number.")
            break
        }
    }
}

1 Answers1

0

У вас массив numbers содержит пустую строку, поэтому вот здесь

val digit = number.toInt()

и валится с NumberFormatException.

Мне не ясно, что вы там вводите, возможно просто лишние пробелы надо обрезать.