为什么打印所有结果的一半

时间:2018-01-20 11:14:53

标签: java jsoup

这是我的jsoup代码:

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++;
}

现在有48张图片和48张图片。印刷后我应该得到96。但是,我只在印刷中得到48。

当我只打印标题时,我得到了48.但是,当我打印标题和图像时,我应该打印96行,但我只得到48行。

为什么?

1 个答案:

答案 0 :(得分:1)

这不是一个问题 您的循环按i增加2

for(i=0; i < j; i++){
  ...
  i++;
}

所以你跳过两个元素。
删除i++;

一般来说,在循环增量表达式之外增加循环初始化程序中使用的变量绝对不是一个好主意。