【发布时间】:2017-03-22 11:45:40
【问题描述】:
我有一个小程序,它读取一个 json 文件,它给出了 天气、时间、温度、风等。我需要计算平均值 2009 年到 2015 年的温度。这些年在一个数组中,并且在 长度,大约 60k。我正在尝试编写一个小循环,它将首先 找到 2009 年第一个实例的位置,然后 2009 年的最后一个实例。然后我可以运行我的 平均温度循环,但我遇到了一个问题 下面。
place 将是数组的索引。但是,无论我如何运行我的
代码,它总是等于-1,而不是给我的位置
数组中的索引。 if 语句中的两个参数都是
字符串。
那么我做错了什么?
String twozerozeronine = "2009";
int place = -1;
for (int a = 0; a < years.size(); a++){
if (years.get(a) == twozerozeronine){
place = 1;
break;
}
}
System.out.println(place);
【问题讨论】:
-
if (years.get(a) === twozerozeronine)试试这个。 -
@sanA Java 没有三等号运算符。
-
if (years.get(a) .equals(twozerozeronine)) -
if (years.get(a).equals(twozerozeronine))试试这个。感谢@khelwood 的更正 -
感谢 .equals 的帮助,但后来我们注意到我们的语法中也有一个错误,导致它一团糟!现在解决了。
标签: java arrays json string if-statement