在 for 循环中编译时出错
Error while compiling in for loop
尝试编译我的文件 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'
收到此错误:
AverageRainfall.java:26: error: cannot find symbol
添加第一个评论者建议的更改后,我不再收到 'cannot find symbol' 错误,但现在我被告知 '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();
}
}
AverageRainfall.java:32: 错误:变量 monthRain 可能尚未初始化
尝试添加括号。也删除内循环后的那个分号
或
如果您在循环外使用这两个变量,那么您必须在循环外初始化该变量。
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();
}
你的m初始化错误
int m = m;
这应该会失败,因为 m 还没有赋值。
您是说 int m = y;
吗?
尝试编译我的文件 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'
收到此错误:
AverageRainfall.java:26: error: cannot find symbol
添加第一个评论者建议的更改后,我不再收到 'cannot find symbol' 错误,但现在我被告知 '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();
}
}
AverageRainfall.java:32: 错误:变量 monthRain 可能尚未初始化
尝试添加括号。也删除内循环后的那个分号
或
如果您在循环外使用这两个变量,那么您必须在循环外初始化该变量。
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();
}
你的m初始化错误
int m = m;
这应该会失败,因为 m 还没有赋值。
您是说 int m = y;
吗?