当我尝试编译我的文件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
添加第一个评论者建议的更改后,我不再收到“无法找到符号”的字样。错误,但现在我被告知&#39; y&#39;和&#39; m&#39;可能没有初始化,它给我一个错误的直接跟随它的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可能尚未初始化
答案 0 :(得分:0)
尝试添加括号。在内循环
之后也删除那个分号或
如果你在循环之外使用那两个变量,那么你必须在循环之外初始化该变量。
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();
}
答案 1 :(得分:0)
你的m被错误地初始化
int m = m;
这应该失败,因为m还没有分配值。
您的意思是int m = y;
吗?