gpt4 book ai didi

java - 返回数组 A 中第一个值大于或等于 m 的元素的索引

转载 作者:行者123 更新时间:2023-12-01 10:06:06 25 4
gpt4 key购买 nike

public class Accumulator {
private int[] A;
public Accumulator(int[] X) {
A= new int[X.length];
for (int i=0; i<X.length; i++){
A[i] = X[i];
}


}
public int getOverM(int m){
for(int j=0; j<A.length;j++){
if(m < A[j])
{

}

}



}
public static void main(String args[]){ // you can use the main method to test your code

int[] A = {2,4,3,5,8};

int r=new Accumulator(A).getOverM(3); //change argument to test different cases
System.out.println(r);
}

}

嗨,我已经在这方面工作了很长时间,我知道这看起来很容易,但我就是无法理解它......我只能更改方法 getOverM() 内的代码,我无法编辑其他方法。我想过使用 if 语句,但我只是不知道如何编写代码来显示与 m 相比的下一个最大索引号。

问题:考虑以下 Accumulator 类,其中缺少方法代码'getOverM(int m)'。getOverM 应该返回数组 A 的第一个元素的索引,其值大于或等于m。

如果 A 中没有元素的索引大于或等于 m,则该方法应该返回-1。例如,如果 A 是数组 {2,4,3,5,8} 那么getOverM(3) 将返回 1getOverM(2) 将返回 0getOverM(7) 将返回 4getOverM(20) 将返回 -1

(提示:数组 A 的长度由 A.length 给出)

插入方法 getOverM 主体的代码。

最佳答案

你可以像这样返回这个索引。

public int getOverM(int m){
for(int j=0; j<A.length;j++){
if(m <= A[j]){
flag=0;
break;
}
else flag=1;
}
if(!flag)
return j;
else return -1;
}

关于java - 返回数组 A 中第一个值大于或等于 m 的元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36458861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com