java循环外打印

时间:2017-12-05 18:25:33

标签: java

我是一名学习编程的高中生,我现在无法解决这个问题。我试图打印循环外的平均值,但我不知道如何。

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);

2 个答案:

答案 0 :(得分:1)

评论提供了正确的想法。 Java中的变量具有块范围,这意味着它们在声明它们的块之外是不可用的。 JavaScript具有“提升”,这意味着,无论在何处使用var关键字,都将定义变量。

将变量声明移到“for”块之外。然后它们将在循环完成时可用。如果您需要知道其最后一个值,也可以为“index”变量执行此操作。通常情况下,这不是必需的。

答案 1 :(得分:0)

在您的代码中,变量averageTemp仅在for - 循环中存在/可访问。 要让它在循环之外可访问,您需要在循环之前声明外部。

double averageTemperature;
for (....) {

for - 循环中,您可以将<{1}}和之后的温度汇总到循环结束后tempSum除以您迭代的项目数在循环中。如果您愿意这样做,请记住在进入循环之前还必须声明tempSum