黑马程序员技术交流社区

标题: 还有一道也不会 [打印本页]

作者: 某某帅    时间: 2016-9-3 00:04
标题: 还有一道也不会
1、有一个二维数组{{1,2,3},{2,2,3},{3,0,4,3}},求出二维数组中哪个一维数组之和最大,打印在控制台上。
                    打印结果 最大值:10 一维数组:{3,0,4,3}
作者: cjc147    时间: 2016-9-3 00:29
public class Demo {}
作者: 铜雀台    时间: 2016-9-3 00:34
System.out.println("最大值")
作者: HeJundong    时间: 2016-9-3 00:49
思路:这二维数组一般要用到for的嵌套循环,外层循环把每个外层的一维数组取出来,内层for用来加之前外层for取出来的一维数组,因为只有三个一维数组,所以针对这题来说,再用两个三目运算,求出最大值输出
作者: obvilion    时间: 2016-9-3 00:51
代码如下
[AppleScript] 纯文本查看 复制代码

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());
        }
}

作者: accomplonely    时间: 2016-9-3 10:10
可以用嵌套循环把每个数组的和都求出来可以把,求出来的同时把它赋给max然后if语句比较如果后面的大于他你就取,最后把那个数组打印出来就可以了啊
作者: zhangsen89    时间: 2016-9-3 22:31
双层for循环,外层遍历二维数组,内层遍历一维数组,提前声明求和变量,记录每个一维数组的和




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2