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

© 某某帅 中级黑马   /  2016-9-3 00:04  /  961 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、有一个二维数组{{1,2,3},{2,2,3},{3,0,4,3}},求出二维数组中哪个一维数组之和最大,打印在控制台上。
                    打印结果 最大值:10 一维数组:{3,0,4,3}

6 个回复

倒序浏览
public class Demo {}
回复 使用道具 举报
System.out.println("最大值")
回复 使用道具 举报
思路:这二维数组一般要用到for的嵌套循环,外层循环把每个外层的一维数组取出来,内层for用来加之前外层for取出来的一维数组,因为只有三个一维数组,所以针对这题来说,再用两个三目运算,求出最大值输出
回复 使用道具 举报
代码如下
[mw_shl_code=applescript,true]
public class Tr_2 {
        public static void main(String[] args) {
                int[][] arr = {{1,2,3},{2,2,3},{3,0,4,3}};
                int[] array = new int[arr.length];
                int max = 0;
                int index =0;
                for (int i = 0;i<array.length;i++) {
                        array = 0;
                        for (int j = 0;j < arr.length;j++) {
                                array += arr[j];
                        }
                        if(max < array) {
                                max = array;
                                index = i;
                        }
                }
                StringBuffer sb = new StringBuffer(" 一维数组:{");
                for (int i = 0; i < arr[index].length; i++) {
                        if(i==arr[index].length-1) {
                                sb.append(arr[index]).append("}");
                        }else {
                                sb.append(arr[index]).append(",");
                        }
                }
                System.out.println("最大值:"+ max + sb.toString());
        }
}[/mw_shl_code]
回复 使用道具 举报
可以用嵌套循环把每个数组的和都求出来可以把,求出来的同时把它赋给max然后if语句比较如果后面的大于他你就取,最后把那个数组打印出来就可以了啊
回复 使用道具 举报
双层for循环,外层遍历二维数组,内层遍历一维数组,提前声明求和变量,记录每个一维数组的和
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马