如何遍历数组列表并使用for循环每X次执行一次操作? Java
我想通过由解析HTML行组成的字符串的ArrayList迭代。如何使用double for循环打印0-353,同时每4个打印一行?感谢所有帮助如何遍历数组列表并使用for循环每X次执行一次操作? Java
我必须做的是去每一行,检查它是否是世界,国家,成员或活动。我会将所有4个数据添加到一个对象中,每次完成填充对象时,我都必须开始一个新对象以添加到另一个对象的数组列表中。
<a id='slu-world-301' class='server-list__world-link' href='http://oldschool.runescape.com/game?world=301'>Old School 1</a>
<td class='server-list__row-cell server-list__row-cell--country server-list__row-cell--US'>United States</td>
<td class='server-list__row-cell server-list__row-cell--type'>Free</td>
<td class='server-list__row-cell'>Trade - Free</td>
<a id='slu-world-302' class='server-list__world-link' href='http://oldschool.runescape.com/game?world=302'>Old School 2</a>
<td class='server-list__row-cell server-list__row-cell--country server-list__row-cell--GB'>United Kingdom</td>
<td class='server-list__row-cell server-list__row-cell--type'>Members</td>
<td class='server-list__row-cell'>Trade - Members</td>
<a id='slu-world-303' class='server-list__world-link' href='http://oldschool.runescape.com/game?world=303'>Old School 3</a>
<td class='server-list__row-cell server-list__row-cell--country server-list__row-cell--DE'>Germany</td>
<td class='server-list__row-cell server-list__row-cell--type'>Members</td>
<td class='server-list__row-cell'>-</td>
我当前的代码:
for(int i=1;i<(strs.size()/4) + 1;i++){
for(int j=0;j<4;j++){
System.out.println(???? WHAT DO I PUT HERE ????)
}
System.out.println("-----------------");
}
我建议使用此%余运营商
参考https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op1.html
0 % 4 = 0
1 % 4 = 1
2 % 4 = 2
3 % 4 = 3
4 % 4 = 0
for(int i = 0; i < strs.size(); i++){
System.out.println(i);
if (i%4 == 3) {
System.out.println("---------");
}
}
输出
0
1
2
3
---------
4
5
6
7
---------
8
9
10
11
---------
如果代码如下
for(int i=0;i<strs.size();i++) {
if(i%4 ==0) {
System.out.println("---------");
}
System.out.println(i);
}
输出将是
------------ //will more one ----- because 0 % 4 = 0
0
1
2
3
------------
4
5
6
7
------------
8
9
它打印我们唯一的0-351是
i<(strs.size()/4)
因为strs.size() = 354
或353
(从评论),您的外环变得
for(int i=0;i< 88;i++)
,因此您可以达到最大值87*4 + 3
=>351
。
您可以更改为迭代:
for(int i=0;i<strs.size();i++) {
if(i%4 ==0) {
System.out.println("---------");
}
System.out.println(i);
}
strs.size()只能等于353,但每4个项目必须是对象的末尾,并且必须允许一个新的项目,以便每4个项目可以继续。 – Kushroom
@Kushroom您的案例的结果仍然是同样,因为353/4也会导致'我 nullpointer
在重新改变我的approuch后,实际上已经解决了。 – Kushroom
是什么'strs'在你的代码?什么不适合你? – nullpointer
你想打印出每一行html或只是整数0-353? – Mitchel0022
你的strs的大小如何?看起来它是354,因此354/4 = 88,因此你的值可以达到351。要获得所需的输出,请使用i pvkcse