Java访问字符串数组中的特定元素

时间:2011-02-21 18:41:22

标签: java arrays string

我正在运行一个网络抓取工具供我自己使用。我下载了一个并希望提供种子。我想提供大约50粒种子。所以我创建了一个字符串数组。我希望每次遍历for循环时为爬虫提供1个种子。我的代码是:

  

String [] temp = new String []   { “http://www.random.org/","http://www.wikipedia.org/”   “http://www.jlworld.com/”, “http://www.frys.com/”};

     

String [] urls = new   串[temp.length];

  for (int i = 0; i <=temp.length; i++)       
     {          
        urls[i] = temp[i];      
     }

抓取工具需要分配给网址的字符串。所以喜欢:

  

String [] urls = new String [1];

     

urls [0] =“http://www.google.com/”;

所以它就是这样的。对于我的代码,我得到了一个outofbounds异常。我想要做的是每次通过for循环时为爬虫提供1个种子。任何有关这方面的帮助将不胜感激!

6 个答案:

答案 0 :(得分:5)

for (int i = 0; i <=temp.length; i++)

应该是:

for (int i = 0; i <temp.length; i++)

答案 1 :(得分:2)

for(int i = 0; i < temp.length; i++)

在数组上调用.length会返回数组的大小,但数组索引是从0开始的。对于你的循环,从i = 0开始你是正确的,但你只想转到i = (temp.length - 1)或者你会得到索引超出范围的异常。比较i < temp.length代替i <= temp.length说明了这种基于索引的转变。

答案 2 :(得分:1)

更改行

for (int i = 0; i <=temp.length; i++)

for (int i = 0; i < temp.length; i++)

你循环太多次了

答案 3 :(得分:0)

for (int i = 0; i < temp.length; i++) {          
    String url = temp[i];      

    ... handle url...
}

答案 4 :(得分:0)

为什么没有[URL,种子]对的映射而不是原始数组?使用URL进行查找,然后离开。

答案 5 :(得分:0)

代码应

 for (int i = 0; i <temp.length; i++)       
 {          
    urls[i] = temp[i];      
 }

数组索引从0开始到长度为1