в java.util.Scanner.throwFor (Неизвестный источник) ошибка

  private static int posNum() {
            Scanner scan = new Scanner(System.in);
            int input = 0;
            boolean error;

            if (scan.hasNextInt()) {
                input = scan.nextInt();
                error = input <= 0;
            } else {
    28          scan.next();
                error = true;
            }
            while (error) {
                System.out.print("Invalid input. Please reenter: ");
                if (scan.hasNextInt()) {
                    input = scan.nextInt();
                    error = input <= 0;
                } else {
                    scan.next();
                    error = true;
                }
            }
            scan.close();
            return input;

        }

Поэтому во второй раз, когда я вызываю этот метод, он возвращает следующую ошибку.

Exception in thread "main" java.util.NoSuchElementException
    at java.util.Scanner.throwFor(Unknown Source)
    at java.util.Scanner.next(Unknown Source)
    at q2.CylinderStats.posNum(CylinderStats.java:28)
    at q2.CylinderStats.main(CylinderStats.java:62)

Первый звонокrad = posNum(); который работает нормально, а затем Secondisheight = posNum(); который не позволяет ввести значение до того, как оно перейдет к ошибке.

Спасибо

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

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