首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在for循环中使用前2元素,然后跳过第三个元素java

如何在for循环中使用前2元素,然后跳过第三个元素java
EN

Stack Overflow用户
提问于 2018-10-28 08:29:59
回答 2查看 54关注 0票数 0

我有一排数组数据,如下所示

代码语言:javascript
运行
复制
JANUARY | DAY1 | ABSENT | MC | DAY2 | ABSENT| MC | DAY3 |ACTIVE| - | DAY4 |ACTIVE | - |
FEBRUARY| DAY1 | ACTIVE |    | DAY2 | ABSENT| MC | DAY3 |ACTIVE| - | DAY4 |ACTIVE | - |
MARCH   | DAY1 | ABSENT | MC | DAY2 | ACTIVE| -  | DAY3 |ACTIVE| - | DAY4 |ACTIVE | - |

或者列成这样,

代码语言:javascript
运行
复制
[JANUARY,DAY1,ABSENT,MC,DAY2,ABSENT,MC,DAY3,ACTIVE,-,DAY4,ACTIVE,]
[FEBRUARY,DAY1,ACTIVE ,-,DAY2,ABSENT,MC,DAY3,ACTIVE,-,DAY4,ACTIVE,]
[MARCH,DAY1,ABSENT,MC,DAY2,ACTIVE,-,DAY3,ACTIVE,-,DAY4,ACTIVE,-]

所以,除了存储所有的数据,我想在这里实现的是,我只想在列DAY1、DAY2、DAY3、DAY4之后存储数据,如下所示:

代码语言:javascript
运行
复制
[ABSENT,MC,ABSENT,MC,ACTIVE,-,ACTIVE,-]
[ACTIVE,-,ABSENT,MC,ACTIVE,-,ACTIVE,-]
[ABSENT,MC,ABSENT,MC,ACTIVE,-,ACTIVE,]

我的当前代码如下所示,用于循环:

代码语言:javascript
运行
复制
    DataFormatter formatter = new DataFormatter();

        String val = null;

        for (int rowNum = 1; rowNum < sheet.getLastRowNum(); rowNum++) {
            Row r = sheet.getRow(rowNum);

            ArrayList<String> al = new ArrayList<String>();


            for (int i = 2; i+2 < r.getLastCellNum() + 1; i = i + 3) {
                Cell cell = r.getCell(i);
                val = formatter.formatCellValue(cell);
                al.add(val);
            }

            System.out.println(al);
        }

但这只会导致缺乏的第一个因素。它仍然缺少它的下一个元素。请帮帮我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-28 08:38:48

您可以在for循环中添加第一个元素和第二个元素。

代码语言:javascript
运行
复制
DataFormatter formatter = new DataFormatter();

    String val = null;

    for (int rowNum = 1; rowNum < sheet.getLastRowNum(); rowNum++) {
        Row r = sheet.getRow(rowNum);

        ArrayList<String> al = new ArrayList<String>();


        for (int i = 2; i+2 < r.getLastCellNum() + 1; i = i + 3) {
            Cell cell = r.getCell(i);
            val = formatter.formatCellValue(cell);
            al.add(val);
            cell = r.getCell(i+1);
            val = formatter.formatCellValue(cell);
            al.add(val);
        }

        System.out.println(al);
    }
票数 1
EN

Stack Overflow用户

发布于 2018-10-28 08:47:50

如果您想忽略第一列和第一天列

代码语言:javascript
运行
复制
for (int i = 1; i < r.getLastCellNum(); i++) {
    Cell cell = r.getCell(i);
    String val = formatter.formatCellValue(cell);
    if (!val.startsWith("DAY")) {
        al.add(val);
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53029662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档