A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Alexander 中级黑马   /  2014-3-3 18:59  /  1647 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

定义一个int型二维数组,并赋值,然后求其中的最大,小值!例如
定义二维数组int[][] a={{4,1,5},{2,7,6,13},{84,12,35},{24,6,3,22,11}};
里面最大值为84,最小值为1,用什么样的方法能快速简便的求出来呢?
和一维数组有相同点吗?

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1 赞一个!

查看全部评分

2 个回复

倒序浏览
我给你一个代码。你根据这个就能做出来了。希望这个能帮的上你。
  1. /**
  2.          * 获取二维数组中的最小值
  3.          * @param arr  参数为一个二维数组
  4.          * @return  返回最小值
  5.          */
  6.         private static int getMainValue(int[][] arr) {
  7.                 int mini = arr[0][0]; //初始化为最小值的角标
  8.                 //对二维数组进行遍历
  9.                 for (int i = 0; i < arr.length; i++) {  
  10.                         for (int j = 0; j < arr[i].length; j++) {  //遍历二维数组中的每一个一组数组
  11.                                 if (arr[i][j] < mini) { //如果参与比较的元素小于最小值角标上的元素
  12.                                         //就用mini记录住最小值角标上的元素
  13.                                         mini = arr[i][j];
  14.                                 }
  15.                         }
  16.                 }
  17.                 //将mini记录的最小值返回
  18.                 return mini;
  19.         }

  20. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1 很给力!

查看全部评分

回复 使用道具 举报
class ErWeiZui {
        private static int getZX(int[][] a) {
                        int min = a[0][0]; //初始化为最小的角标
                        //对二维数组进行遍历
                        for (int i = 0; i < a.length; i++) {
                                for (int j = 0; j < a[i].length; j++) {
                                        if (a[i][j] < min) { //比较两个数的大小
                                                //把最小值赋值给变量min
                                                min = a[i][j];
                                        }
                                }
                        }
                                        //将最小值反出去
                                        return min;
        }
        public static void main(String[] args) {
                int[][] a={{4,1,5},{2,7,6,13},{84,12,35},{24,6,3,22,11}};
                System.out.println(getZX(a));
        }
}
/*
其实二维一维数组求最大最小值的原理差不多,都需要先用for循环遍历数组的每一个元素。
然后通过if判断语句进行判断。直到找到数组中的最大或者最小值,把值反出去。就行了
上面是源代码,你可以看着注释或者看着这里的文字自己思考着写一下。其实只要理解了原理
代码很好敲的
*/
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马