需要minRow方法的想法

时间:2018-02-01 06:49:09

标签: java arrays arraylist

我有java工作表,它使用arraylist。它正在制作一张excel表。有总计,计数,吸气剂和设定器等功能我可以很容易地解决它,但我似乎无法做下面的min方法,要求如下

数据看起来像这样:

       A(0)     B(1)    C(2)    D(3)    E(4)    F(5)
    0   -       -       -       -       -       -
    1   -       -       8.8     -       0.0     -0.1
    2   -       -       -       -6.5    -       -
    3   -       -       -       -       -       -
    4   -       -       -       1.8     -1.4    -
    5   -       -       -       -       -       -
    6   0       1.9     -       -       -       -

    ---------------------------

有EntryData对象的第一行的值 在列表数据中 如果没有数据,则返回null

public Integer minRow() {
    return null; //to be completed
}

测试数据用于检查功能是否有效:

public void testMinRow() {
    assertNotNull(sheet.minRow());
    assertTrue(sheet.minRow()==1);
    assertNull(empty.minRow());
}

我做到了这一点,但只有第一次测试在这里工作:

public Integer minRow() {
    int firstRow = 0;
    for(DataEntry item: data) {
        if(item.getRow() > firstRow)
            firstRow = item.getRow();
    }
    return firstRow; //to be completed
}

1 个答案:

答案 0 :(得分:0)

为什么不使用foreach来通过单行,而不是保存行的值并与此行中的下一个值进行比较,依此类推。在每次比较时,只保存较小的(最小)值,最后打印出该值