加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 搜索多维数组中的特定行

发布时间:2020-12-15 02:22:44 所属栏目:Java 来源:网络整理
导读:我是 java编程的新手,我不能在我的一个任务中绕过最后一个问题. 我们被告知要创建一个静态方法,它将搜索二维数组并将二维数组的数字与输入数字进行比较……所以像这样: private static int [] searchArray(int [] [] num,int N){ 现在,我们返回的部分是一个
我是 java编程的新手,我不能在我的一个任务中绕过最后一个问题.

我们被告知要创建一个静态方法,它将搜索二维数组并将二维数组的数字与输入数字进行比较……所以像这样:

private static int [] searchArray(int [] [] num,int N){

现在,我们返回的部分是一个新的一维数组,告诉每行中第一个数字的索引大于参数变量N.如果没有数字大于N,则返回-1阵列的那个位置.

例如,一个名为“A”的多维数组:

4 5 6

8 3 1

7 8 9

2 0 4

如果我们使用这个方法并且做了searchArray(A,5),答案就是“{2,-1)”

解决方法

Here是关于Java 2D阵列的非常好的解释

int num[][] = {{4,5,6},{8,3,1},{7,8,9}};
    int N = 5;
    int result[] = new int[num.length];
    for(int i=0; i<num.length; i++){
        result[i] = -1;
        for(int j=0; j<num[0].length; j++){
            if( N < num[i][j] ){
                result[i] = j;
                break;
            }
        }
    }

    for(int i=0; i<result.length; i++){
        System.out.println(result[i]);
    }

第一个for循环(内部带有for的循环)从上到下遍历2D数组
从左到右的方向.这是,首先它与4然后5,6,1,7,9.

首先创建结果数组.长度取决于num的行数.
如果没有大于N的数字,result [i]设置为-1.
如果找到大于N的数字,则保存列索引result [i] = j并使用break来退出for循环,因为我们只想找到大于N的第一个数字的索引.

最后一个for循环只打印结果.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读