如何使方法确定列表的排序顺序

时间:2018-12-27 07:50:00

标签: groovy

我目前正在使用一种方法来检查我的列表是升序还是降序。

我打算使用isAscend和isDescent这两种方法来检查列表的顺序

class CheckOrderType {

    static def isAscend(){
        def list
        for(int i=0; i< list.size()-1; i++){
            if(list.get(i) < list.get(i+1)){
                return true
            }
            return false
        }
    }

    static def isDescend(){
        def list
        for(int i=0; i< list.size()-1; i++){
            if(list.get(i) > list.get(i+1)){
                return true
            }
            return false
        }
    }


    static void main(String[] args){
        def list = [5,3,2,1]
        if(list.isDescend()){
            print "True"
        }
        print "False"


    }
}

我希望它返回True或False,但是会抛出异常

1 个答案:

答案 0 :(得分:-1)

您的逻辑是错误的。另外,在整个检查完成之前,不要返回true值。

以下伪代码只是粗略地讲您应修改代码的哪一部分:

isAscend()

For loop:
    If value[i] > value[i+1]:
        return false
    EndIf
EndLoop

return true

isDescend()

For loop:
    If value[i] < value[i+1]:
        return false
    EndIf
EndLoop 

return true