循环2个char的索引

时间:2016-11-29 07:05:20

标签: java arraylist

我需要帮助才能循环到ArrayList:

  

[PR,PS,QS,QT,RP,RT,SP,SQ,TQ,TR]

所以我的输出是这样的:

1) PR PS
2) QS QT
3) RP RT 
4) SP SQ 
5) TQ TR

请注意,一旦我读完前两个,我跳到第三个第四个索引; 谢谢你心爱的Stack社区

2 个答案:

答案 0 :(得分:3)

试试这个简单的代码

    String [] arr = {"PR", "PS", "QS", "QT", "RP", "RT", "SP", "SQ", "TQ", "TR"};
    List<String> list = Arrays.asList(arr);

    for (int i = 0; i < list.size() - 1; i = i + 2) {
        System.out.printf("%s %s %n", list.get(i), list.get(i + 1));
    }

或者如果你想要编号

System.out.printf("%d) %s %s %n", (i / 2) + 1, list.get(i), list.get(i + 1));

答案 1 :(得分:0)

@Scary Wombat解决方案很棒,但是如果你有一个奇怪的阵列大小怎么办?假设您在列表末尾还有一个值XY,输出应为:

  

TR XY

我认为照顾奇怪的情况是个好主意,我的解决方案是:

        List<String> array = Arrays.asList("PR", "PS", "QS", "QT", "RP", "RT", "SP", "SQ", "TQ", "TR", "XY");
        for (int i=0; i<array.size(); i++) {
                if (i%2==1 || i == array.size()-1) {
                        System.out.println(array.get(i-1)+", "+array.get(i));
                }
        }

以下代码会导致下一个输出:

PR, PS
QS, QT
RP, RT
SP, SQ
TQ, TR
TR, XY