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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 某某帅 中级黑马   /  2016-9-3 00:04  /  736 人查看  /  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取出来的一维数组,因为只有三个一维数组,所以针对这题来说,再用两个三目运算,求出最大值输出
回复 使用道具 举报
代码如下
[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[i] = 0;
			for (int j = 0;j < arr[i].length;j++) {
				array[i] += arr[i][j];
			}
			if(max < array[i]) {
				max = array[i];
				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][i]).append("}");
			}else {
				sb.append(arr[index][i]).append(",");
			}
		}
		System.out.println("最大值:"+ max + sb.toString());
	}
}
回复 使用道具 举报
可以用嵌套循环把每个数组的和都求出来可以把,求出来的同时把它赋给max然后if语句比较如果后面的大于他你就取,最后把那个数组打印出来就可以了啊
回复 使用道具 举报
双层for循环,外层遍历二维数组,内层遍历一维数组,提前声明求和变量,记录每个一维数组的和
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马