我有以下代码的问题.
基本上 iin String foreCon不增加,(留在0).
因此return String根据天气预报不显示.
private int i = 0;
public String conditionList2() {
while (i < WeatherAPI.weatherForecastList.size()) {
String foreCon = WeatherAPI.weatherForecastList.get(i).forecastCon;
if (foreCon.equals("Sunny"))
return "\uf00d";
else if(foreCon.equals("Rain"))
return "\uf01a"
else if(foreCon.equals("Cloudy"))
return "\uf013";
i++;
}
return "";
}
Run Code Online (Sandbox Code Playgroud)
这是使用的Cheatsheet.http://erikflowers.github.io/weather-icons/cheatsheet/
非常感谢任何帮助.谢谢.
如果你没有立即从循环中返回,你只是递增变量 - 如果预测是Sunny,Rain或者Cloudy你点击了一个return语句而没有增加i.
i++在为一个值赋值后,您可以直接移动到循环的位foreCon:
String foreCon = WeatherAPI.weatherForecastList.get(i).forecastCon;
i++;
if (foreCon.equals("Sunny"))
...
Run Code Online (Sandbox Code Playgroud)
我不得不说,无论如何它感觉有点像一个奇怪的设计 - 我会将"迭代通过单词"从"将单词转换为符号",个人而言.(同样奇怪的是,你只会返回""一次,就在列表的末尾.如果你实现了一个Iterable<String>,那就更清洁了.)
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |