Java 若索引i的子列表(若有)是按升序排列的,那个么如何返回true

Java 若索引i的子列表(若有)是按升序排列的,那个么如何返回true,java,arraylist,sub-array,Java,Arraylist,Sub Array,如果索引i处的子列表(如果有)按升序排列(每个项小于或等于下一项),如何返回true;否则就错了。这就是我到目前为止所做的。然而,我似乎无法通过考试 public static boolean isAscending(ArrayList<ArrayList<Integer>> list, int i) { ArrayList<Integer> data = list.get(i); for (i = 0; i < data.size()

如果索引i处的子列表(如果有)按升序排列(每个项小于或等于下一项),如何返回true;否则就错了。这就是我到目前为止所做的。然而,我似乎无法通过考试

public static boolean isAscending(ArrayList<ArrayList<Integer>> list, int i) {

    ArrayList<Integer> data = list.get(i);
    for (i = 0; i < data.size() - 1; i++) {
        if (data.get(i) > data.get(i + 1)) {
            return false;
        }
    }
    return true;
}

@Test @Graded(description="IsAscendingBasic")
public void testIsAscendingBasic() {
    assertFalse(ListOfListService.isAscending(emptyList, 0));

    assertFalse(ListOfListService.isAscending(oneRow, 0));
    assertFalse(ListOfListService.isAscending(oneRow, 1));
    assertFalse(ListOfListService.isAscending(oneRow, -1));

    assertTrue(ListOfListService.isAscending(list2, 0));
    assertFalse(ListOfListService.isAscending(list2, 1));
    assertFalse(ListOfListService.isAscending(list2, 2));
    assertTrue(ListOfListService.isAscending(list2, 3));
    assertTrue(ListOfListService.isAscending(list2, 4));
    assertTrue(ListOfListService.isAscending(list2, 5));

    list2.get(4).set(1, 20); // 20, 20
    assertTrue(ListOfListService.isAscending(list2, 4));

    assertTrue(ListOfListService.isAscending(list1, 1));

    assertTrue(ListOfListService.isAscending(list3_emptySubLists, 0)); // empty sub-list is ascending
    assertFalse(ListOfListService.isAscending(list3_emptySubLists, 1));
    currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}

@Test @Graded(description="IsAscendingComprehensive")
public void testIsAscendingComprehensive() {
    testIsAscendingBasic();
    assertFalse(ListOfListService.isAscending(null, 0));

    assertFalse(ListOfListService.isAscending(list4_nullItems, 0));
    assertTrue(ListOfListService.isAscending(list4_nullItems, 2));
    assertFalse(ListOfListService.isAscending(list4_nullItems, 3));
    assertFalse(ListOfListService.isAscending(list4_nullItems, 5));
    currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
公共静态布尔isAscending(ArrayList列表,int i){
ArrayList data=list.get(i);
对于(i=0;idata.get(i+1)){
返回false;
}
}
返回true;
}
@分级测试(description=“IsascedingBasic”)
公共无效证明SCENDINGBASIC(){
assertFalse(ListOfListService.isAscending(emptyList,0));
assertFalse(ListOfListService.isAscending(oneRow,0));
assertFalse(ListOfListService.isAscending(oneRow,1));
assertFalse(ListOfListService.isAscending(oneRow,-1));
assertTrue(ListOfListService.isAscending(list2,0));
assertFalse(ListOfListService.isAscending(list2,1));
assertFalse(ListOfListService.isAscending(list2,2));
assertTrue(ListOfListService.isAscending(list2,3));
assertTrue(ListOfListService.isAscending(list2,4));
assertTrue(ListOfListService.isAscending(list2,5));
列表2.get(4.set(1,20);//20,20
assertTrue(ListOfListService.isAscending(list2,4));
assertTrue(ListOfListService.isAscending(list1,1));
assertTrue(ListOfListService.isAscending(list3_emptySubLists,0));//空子列表正在升序
assertFalse(ListOfListService.isAscending(list3_emptySubLists,1));
currentMethodName=new Throwable().getStackTrace()[0].getMethodName();
}
@分级测试(description=“IsAscendingComprehensive”)
公开无效证明{
testiscendingbasic();
assertFalse(ListOfListService.isAscending(null,0));
assertFalse(ListOfListService.isAscending(list4_nullItems,0));
assertTrue(ListOfListService.isAscending(list4_nullItems,2));
assertFalse(ListOfListService.isAscending(list4_nullItems,3));
assertFalse(ListOfListService.isAscending(list4_nullItems,5));
currentMethodName=new Throwable().getStackTrace()[0].getMethodName();
}

isAscending
中,您有
i
作为参数,那么为什么要为每个循环设置参数<代码>i被覆盖。哪个测试失败?