我是一名学习编程的高中生,我现在无法解决这个问题。我试图打印循环外的平均值,但我不知道如何。
for (int index = 0; index < temperature.length; index++) {
double tempSum = 0;
tempSum += temperature[index];
double averageTemp = tempSum / temperature.length;
double rainSum = 0;
rainSum += precipitation[index];
}
//Output: display table of weather data including average and total
System.out.println();
System.out.println(" Weather Data");
System.out.println(" Location: " + city + ", " + state);
System.out.println("Month Temperature (" + tempLabel + ") Precipitation (" + precipLabel + ")");
System.out.println();
System.out.println("***************************************************");
for (int index = 0; index < precipitation.length; index++) {
System.out.println(month[index] + " " + temperature[index] + " " + precipitation[index]);
}
System.out.println("Average Temperature: " + averageTemp + " Total Rainfall: " + rainSum);
答案 0 :(得分:1)
评论提供了正确的想法。 Java中的变量具有块范围,这意味着它们在声明它们的块之外是不可用的。 JavaScript具有“提升”,这意味着,无论在何处使用var关键字,都将定义变量。
将变量声明移到“for”块之外。然后它们将在循环完成时可用。如果您需要知道其最后一个值,也可以为“index”变量执行此操作。通常情况下,这不是必需的。
答案 1 :(得分:0)
在您的代码中,变量averageTemp
仅在for
- 循环中存在/可访问。
要让它在循环之外可访问,您需要在循环之前声明外部。
double averageTemperature;
for (....) {
在for
- 循环中,您可以将<{1}}和之后的温度汇总到循环结束后tempSum
除以您迭代的项目数在循环中。如果您愿意这样做,请记住在进入循环之前还必须声明tempSum
。