Java несколько сканеров

У меня есть класс, который создает несколькоInteger объекты и помещает их вLinkedList как показано ниже:

public class Shares implements Queue {
    protected LinkedList L;

    public Shares() {
        L = new LinkedList();
    }

    public boolean add(E price) {
        System.out.println("How many of these shares would you like?");
        Scanner scanInt;
        scanInt = new Scanner(System.in);
        Integer noShares = scanInt.nextInt();
        for (int i = 0; i < noShares; i++) {
            L.addLast(price);
        }
        scanInt.close();

        return true;
    }
}

У меня есть приложение, которое сканирует на вход "добавлять" из консоли и, если найден, вызывает методadd как показано ниже:

public class Application {
    private static Scanner scan;

    public static  void main(String[] args) {
        Queue S = new Shares();
        scan = new Scanner(System.in);
        System.out.println("Please type add");
        String sentence = scan.nextLine();
        while (sentence.equals("quit") == false) {
            if (sentence.equals("add")) {

                System.out
                    .println("What price would you like to buy your shares at?");

                S.add((Integer) scan.nextInt());

            } else
                System.exit(0);

            sentence = scan.nextLine();
        }
    }
}

Приложение должно позволять пользователю войти "добавлять" столько раз, сколько они хотят, но ошибкалиния не найдена появляется послеadd метод был вызван.

Я предполагаю, что это потому, чтоScanner в методе, не был закрыт, а затем вновь открыт при необходимости. Это то, что не так с программой, и если да, то как мне исправить ее?

Обратите внимание, что эта программа не завершена, так как я добавлю метод продажи, который продает эти акции. Вот почему я использую цикл while.

Ответы на вопрос(4)

Ваш ответ на вопрос