Java 在for循环中编译时出错

Java 在for循环中编译时出错,java,for-loop,syntax-error,undefined-symbol,Java,For Loop,Syntax Error,Undefined Symbol,当试图编译我的文件AverageRainfall.java时,我不断得到一个变量错误,即两个符号不存在。我已经包含了受影响的代码,其中包括两个定义的变量和接收错误的System.out.print命令 System.out.println("Enter the rainfall, in inches, for each month. "); for(int y = 1; y <= years; y++) for(int m = 1; m <= NUM_MON

当试图编译我的文件AverageRainfall.java时,我不断得到一个变量错误,即两个符号不存在。我已经包含了受影响的代码,其中包括两个定义的变量和接收错误的System.out.print命令

System.out.println("Enter the rainfall, in inches, for each month. ");          
for(int y = 1; y <= years; y++)

  for(int m = 1; m <= NUM_MONTHS; m++);     

System.out.print("Year" + y + "month" + m + ": ");        
monthRain = keyboard.nextDouble();
在添加第一个评论者建议的更改后,我不再收到“找不到符号”错误,但现在我被告知“y”和“m”可能尚未初始化,并且它给了我一个直接跟随它的while循环错误。受影响的代码:

    {
   System.out.println("Enter the rainfall, in inches, for each month. ");
      for(int y = 1; y <= years; y++){
         for(int m = 1; m <= NUM_MONTHS; m++){

          System.out.print("Year" + y + "month" + m + ": ");
          monthRain = keyboard.nextDouble(); 
         }
      }
         while (monthRain < 0)
      {
         System.out.print("Invalid. Enter 0 or greater: ");
         monthRain = keyboard.nextDouble();
      }
}
{
System.out.println(“输入每个月的降雨量,单位为英寸”);

对于(int y=1;y尝试添加括号。同时删除内部循环后的分号

如果在循环外使用这两个变量,则必须在循环外初始化该变量

System.out.println("Enter the rainfall, in inches, for each month. ");          
for(int y = 1; y <= years; y++){

  for(int m = m; m <= NUM_MONTHS; m++){     
     System.out.print("Year" + y + "month" + m + ": ");    
  }    
  monthRain = keyboard.nextDouble();
}
System.out.println(“输入每个月的降雨量,单位为英寸”);

对于(int y=1;y您的m被错误地初始化

int m = m;
这应该会失败,因为m尚未指定值。
你的意思是
int m=y;

哪一行是第26行?去掉第二个for循环末尾的分号。谢谢你解决了这个问题,但是现在我得到了一个与“while”循环相关的新错误,它告诉我我的变量可能没有初始化。变量的数据类型是什么,如果是I,你是如何初始化它的nteger,在校准while循环之前,您必须指定一个默认值,如0Try,以打印变量
monthRain
,以查看当前值是什么,或者它没有。这实际上起了作用,现在我必须检查并获得所有逻辑错误。非常感谢!我将其更改为m=1,因为for循环从1变为12
int m = m;