有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

数组如何在java中检查5<10>5<10到n

例如,如果5<10>5<10,如何从数组中进行检查

代码:

int[] arr = {5,10,5,10,5,10,5};

for(int i = 0; i < arr.length; i++) {
    for(int j = 1; j < arr.length - i; j++) {
        if(arr[j-1] < arr[j] && arr[j] > arr[j+1]) {
            System.out.println("ok!");
        }
    }
}

现在我有这个,但它错了


共 (2) 个答案

  1. # 1 楼答案

    假设数组中至少有2个成员(您可以在之前检查):

    boolean isOk = true;
    
    for(int i=1;i<arr.length;i+=2){
           isOk = isOk && (arr[i] > arr[i-1]) && (arr.length == i+1 || (arr[i] > arr[i+1]));
        } 
    }
    
    if(isOk) {
        System.out.println("ok!");
    }
    
  2. # 2 楼答案

    你只有一个一维数组,所以你应该可以用一个循环来完成。你的内环看起来很近。试试这个:

    int[] arr = {5,10,5,10,5,10,5};
    
    for(int j = 1; j < arr.length-1; j++){
        if(arr[j-1] < arr[j] && arr[j] > arr[j+1]){
            System.out.println("ok!");
        }
    }
    

    这从第二个元素开始,以倒数第二个元素结束,并检查每一侧的元素是否符合您定义的条件