首页 > 解决方案 > 错误: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 无法解析为变量。

标签: java

解决方案


是的,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;
    }
}

推荐阅读