Ошибка Java: сообщение “несовместимые типы”. Преобразование в тип int из типа Coin

#java

#java

Вопрос:

Итак, у меня есть этот код здесь

     CoinBag<Coin> bag = new CoinBag<>();
    int choice = -1;

    do {
        System.out.println("[1] To add a new item to the bag");
        System.out.println("[2] To print bag contents");
        Scanner in = new Scanner(System.in);
        choice = in.nextInt();
        switch (choice) {
            case 1:
                System.out.println("Enter item:");
                Coin item = in.nextInt();
                if (bag.add(item)) {
                    System.out.println("Item "   item   " is added successfully to the bag");
                }
                break;
  

Coin item = in.next(); Я получаю сообщение об ошибке Incompatibile types: String cannot be converted to Int . Я спрашиваю, что мне нужно написать, чтобы оно было преобразовано таким образом, чтобы пользователь мог вводить целочисленное значение, чтобы оно приводило их к выбранному варианту в списке.

Комментарии:

1. Java относится к Javascript так же, как Pain относится к рисованию, или Ham относится к Hamster. Они совершенно разные. Настоятельно рекомендуется, чтобы начинающие программисты пытались выучить название языка, на котором они пытаются написать код. Когда вы публикуете вопрос, пожалуйста, помечайте его соответствующим образом.

2. Итак, что вы думаете (или что говорит Javadoc) nextInt() возвращает? Integer Верно? Является Integer a Coin ? Что вы думаете?

3. прежде всего, вставленный код перечисляет команду как Coin item = in.nextInt(); , и это вызовет другую ошибку «Несовместимые типы» . во-вторых, ошибка совершенно очевидна, возвращаемый тип from in.nextInt(); и from in.next(); несовместим с левой частью присваивания

Ответ №1:

Вы не можете взять целое число (nextInt()) и присвоить его Coin. Это два разных типа данных.

Я предлагаю вам ознакомиться со сканером.