java - 从 Java 中的列表打印模式

标签 java list

我在这里所做的就是获取下表的内容并将它们存储在名为 tableElems 的列表中

 0  1  2  3  4  5  6  7  8
 9  10 11 12 13 14 15 16 17
 18 19 20 21 22 23 24 25 26
 27 28 29 30 31 32 33 34 35

List<WebElement> tableElems = chrome.findElements(By.tagName("td"));

从这个表中,我想以从第 4 个元素(表中的#3)开始的模式进行打印,并且我想打印 3 个元素,然后跳过接下来的 6 个元素,打印接下来的 3 个元素,然后跳过接下来的 6 个元素,等等等等

所以我的预期输出将是 3 4 5 12 13 14 21 22 23 30 31 32

我最初的尝试结束了

for (int i = 3; i<tableElems.size(); i++) {
            if(i % 3 == 0) { System.out.println(tableElems.get(i).getText()); }
            else if(i % 4 == 0) { System.out.println(tableElems.get(i).getText()); }
            else if(i % 5 == 0) { System.out.println(tableElems.get(i).getText()); }
        }

显然这是错误的,因为我的 %3 将打印第 9 个元素,%4 将打印第 16 个元素,依此类推。

我无法理解这个问题,所以任何为我指明正确方向的建议都是值得赞赏的!

最佳答案

试试这个:

for (int i = 3; i<tableElems.size(); i++) {
    if (((i / 3) % 3) == 1) { System.out.println(tableElems.get(i).getText()); }
}

将其想象为分成九个一组,并进一步将每组 9 个分成 3 个组。在第二组 3 个(即 3-5、12-14)上它将显示。

关于java - 从 Java 中的列表打印模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37951510/

相关文章:

c - 双链表 - 内存损坏

java - 比较 DataOutputStream 和 Java 中的字符串

java - 在微调器中获取用户选择,将其存储在sharedPreferences中,并在另一个 Activity 中使用它

java - 读取带有多个标志的纯文本文件java

java - 有没有类似itext的库,可以写pdf形式的字段值?

java - 检查 InterruptedException 的好习惯是什么?

list - 如何使用 List.map 在 int list 列表上应用函数?

python - 查找元音替换的所有组合

Python - 同时遍历两个列表而不在每次迭代中都移动到下一行

android - 无法获取列表 <String> 中已安装应用程序的列表