Я новичок в программировании на 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 не может быть преобразован в переменную.
У вас также есть две разные переменные, называемые squareFeet и squarefeet. Это сбивает с толку.
благодарю вас! опечатка до сих пор была для меня головной болью!
Используйте IDE. Это очень помогает в этом. Также с отступом.
Эллиотт - Когда я удаляю scanner.close (), у меня возникает утечка ресурсов: «сканер» никогда не закрывается.




Да, 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;
}
}
sqaureFeetимеет опечатку.squareFeetимеет после u. Удалитьscanner.close();