2011-09-21 85 views
1

您好,我正在嘗試使用Jsoup創建一個從站點上所有jpgs中拉出的圖像的ArrayList。我遇到nullPointerException,就好像for循環不存在一樣。如何在try catch塊中使用for循環

try { 
    Document doc = Jsoup.connect("www.enterwebsitehere.com").get(); 
    jpgs = doc.select("img[src$=.jpg]"); 

    for (int countPics = 0; countPics > 10; countPics++) { 
     Element currentPic = jpgs.get(countPics); 

     String currentPicString = currentPic.toString(); 
     int startofAddress = currentPicString.indexOf("http:"); 
     int endofAddress = (currentPicString.indexOf(".jpg") + 4); 
     String urlOfImage = currentPicString.substring(startofAddress, endofAddress); 

     URL url = new URL(urlOfImage); 
     Image currentImage = ImageIO.read(url); 
     imageList.add(currentImage); 
    } 


} catch (MalformedURLException e) { 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

我相信我需要在catch塊之外引入一些變量嗎?

謝謝您提供的任何幫助。

EHarpham

+1

請張貼異常的堆棧跟蹤。 – cheeken

+0

@EHarpham,你應該嘗試隔離問題。這裏的問題與try/catch塊無關。它在循環中。你的循環只是跳過,因爲條件是評估錯誤,因爲他們已經在答案中說過。我在寫這篇文章是因爲你在這裏是一個新用戶,我只是想幫忙。 – pablosaraiva

回答

3

CountPics> 10被評估爲假。 (0> 10)是錯誤的。

0

我相信你的意思是:for (int countPics = 0; countPics < 10; countPics++)

注意countPics > 10的逆轉countPics < 10