ОШИБКА: squareFeet не может быть преобразован в переменную

Я новичок в программировании на Java, и вот проблемы, на которых я застрял.

  public static double Totalwallspace( int NumberofRooms )

  {

  double squarefeet;    
  double totalSquareFeet = 0;

  Scanner scanner = new Scanner(System.in);

  for( int currentRoom = 1; currentRoom <= NumberofRooms; currentRoom++){

  System.out.println("Please enter the square feet of the wall space in room: " + currentRoom);

  double squareFeet = scanner.nextDouble();

  scanner.close();

  totalSquareFeet = totalSquareFeet + sqaureFeet;

   }
   return totalSquareFeet;
}

Каждый раз, когда я пытаюсь его скомпилировать, просто продолжаю давать мне это сообщение: squareFeet не может быть преобразован в переменную.

sqaureFeet имеет опечатку. squareFeet имеет после u. Удалить scanner.close();
Elliott Frisch 21.10.2018 09:26

У вас также есть две разные переменные, называемые squareFeet и squarefeet. Это сбивает с толку.

Thilo 21.10.2018 09:27

благодарю вас! опечатка до сих пор была для меня головной болью!

counterlick 21.10.2018 09:28

Используйте IDE. Это очень помогает в этом. Также с отступом.

Thilo 21.10.2018 09:28

Эллиотт - Когда я удаляю scanner.close (), у меня возникает утечка ресурсов: «сканер» никогда не закрывается.

counterlick 21.10.2018 09:40
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
5
48
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Да, Scanner следует закрыть, а try with resource - лучший способ:

public static double Totalwallspace(int NumberofRooms) {
    try (Scanner scanner = new Scanner(System.in)) {
        double totalSquareFeet = 0;

        for (int currentRoom = 1; currentRoom <= NumberofRooms; currentRoom++) {
            System.out.println("Please enter the square feet of the wall space in room: " + currentRoom);
            totalSquareFeet += scanner.nextDouble();
        }

        return totalSquareFeet;
    }
}

Другие вопросы по теме