You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jsoup代码为何仅打印半数结果?48组图与标题仅输出48行

问题分析与解决方案

嘿,我一眼就瞅出问题所在了——你的循环里重复递增了变量i,这直接导致输出行数减半!

先看看你这段代码的关键部分:

for (i = 0; i < j; i++) { 
    if (!imageElement.get(i).attr("abs:src").isEmpty()) { 
        imagesSource[i] = imageElement.get(i).attr("abs:src"); 
        titlesSource[i] = titleElement.get(i).attr("title"); 
        System.out.println(imagesSource[i]); 
        System.out.println(titlesSource[i]); 
    } else { 
        imagesSource[i] = imageElement.get(i).attr("abs:image-src"); 
        titlesSource[i] = titleElement.get(i).attr("title"); 
        System.out.println(imagesSource[i]); 
        System.out.println(titlesSource[i]); 
    } 
    i++; // 这里就是多余的罪魁祸首!
}

问题拆解:

你的for循环已经在循环头部声明了i++,这意味着每次循环结束后i会自动加1。但你在循环体的最后又手动加了一句i++;,这就导致每次循环i都会增加2。

原本你有48个图片和标题,正常循环应该执行48次,每次打印2行(图片+标题),总共96行。但现在循环只执行了24次,24×2=48行,正好是你看到的结果。而单独打印标题时,你可能去掉了这个多余的i++,所以循环能正常跑48次,输出48行。

修正方案:

只需要删掉循环体末尾那行多余的i++;就行,修正后的代码如下:

for (i = 0; i < j; i++) { 
    if (!imageElement.get(i).attr("abs:src").isEmpty()) { 
        imagesSource[i] = imageElement.get(i).attr("abs:src"); 
        titlesSource[i] = titleElement.get(i).attr("title"); 
        System.out.println(imagesSource[i]); 
        System.out.println(titlesSource[i]); 
    } else { 
        imagesSource[i] = imageElement.get(i).attr("abs:image-src"); 
        titlesSource[i] = titleElement.get(i).attr("title"); 
        System.out.println(imagesSource[i]); 
        System.out.println(titlesSource[i]); 
    } 
    // 删掉这里的i++!
}

额外优化建议:

你可以把重复的打印和赋值逻辑抽出来,减少代码冗余,让代码更整洁:

for (i = 0; i < j; i++) { 
    // 统一处理图片地址
    String imgSrc = imageElement.get(i).attr("abs:src");
    if (imgSrc.isEmpty()) {
        imgSrc = imageElement.get(i).attr("abs:image-src");
    }
    // 统一处理标题
    String title = titleElement.get(i).attr("title");
    
    // 赋值并打印
    imagesSource[i] = imgSrc;
    titlesSource[i] = title;
    System.out.println(imgSrc);
    System.out.println(title);
}

内容的提问来源于stack exchange,提问作者Zishan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:41:15