gpt4 book ai didi

java - 为什么我的 for 循环没有执行?

转载 作者:行者123 更新时间:2023-12-01 12:38:06 25 4
gpt4 key购买 nike

在我的 try block 中,我有一个 for 循环,我确信它不起作用,因为当我登录 for 循环时,我没有得到任何返回,这意味着在我的应用程序中循环未被访问。

这是我的 try block ,其中包括 for 循环:

try 
{
HttpURLConnection httpConn = (HttpURLConnection) conn;
httpConn.setAllowUserInteraction(false);
httpConn.setInstanceFollowRedirects(true);
httpConn.setRequestMethod("GET");
httpConn.connect();
response = httpConn.getResponseCode();

if (response == HttpURLConnection.HTTP_OK)
{
anInStream = httpConn.getInputStream();
InputStreamReader in= new InputStreamReader(anInStream);
BufferedReader bin= new BufferedReader(in);

String line = new String();
while (( (line = bin.readLine())) != null)
{

result = result + line;
}
}

menuItems = new ArrayList<HashMap<String, String>>();
Log.v(TAG, "index1=" + menuItems);

Handler parser = new Handler();
String xml = result; // getting XML
Document doc = parser.getDomElement(xml);

NodeList nl = doc.getElementsByTagName(KEY_FUEL);
Log.v(TAG, "index2=" + nl);

for (int i = 0; i < nl.getLength(); i++)
{
Log.v(TAG, "index3=" + nl);

HashMap<String, String> map = new HashMap<String, String>();
Element e = (Element) nl.item(i);

map.put(KEY_HIGHEST, parser.getValue(e, KEY_HIGHEST));
map.put(KEY_AVERAGE, parser.getValue(e, KEY_AVERAGE));
map.put(KEY_LOWEST, parser.getValue(e, KEY_LOWEST));
map.put(KEY_LINK, parser.getValue(e, KEY_LINK));
Log.v(TAG, "index4=" + map);

menuItems.add(map);
Log.v(TAG, "index5=" + menuItems);
}
}
catch (IOException ex)
{
try
{
throw new IOException("Error connecting");
}
catch (IOException e)
{
e.printStackTrace();
}
}
return menuItems;

为了完整性,我添加了 catch 和 return,以防万一这些就是原因。任何帮助将不胜感激。

最佳答案

检查一下你的NodeList是否为空?如果您的 getElementsByTagName 调用返回一个空列表,那么它的长度将为 0,并且您的 for 循环将被跳过,因为在第一次迭代之前将满足终止条件。尝试记录 nl 的长度。

关于java - 为什么我的 for 循环没有执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25384741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com