java基础[二维数组的遍历,求和,找最大值]

115 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

package com.hzy.javase.array;

/*
 *		二维数组:就是数组的子数组,元素都是子数组
 */
public class ArrayArrayTest {

	
	public static void main(String[] args) {
		//创建拥有10个子数组的二维数组,找出最大值,子数组长度为2-5
		int[][] arrarr = new int[10][];
		for(int i = 0; i < arrarr.length; i++) {
			arrarr[i] = new int[(i % 4) + 2]; 
			for(int j = 0; j < arrarr[i].length; j++) {
				arrarr[i][j] = (int)(Math.random() * 100);
			}
		}
		//遍历
		for(int i = 0; i < arrarr.length; i++) {
			for(int j = 0; j < arrarr[i].length; j++) {
				System.out.print(arrarr[i][j] + " ");
			}
			System.out.println();
		}
		//找最大值
		int max = arrarr[0][0];
		for(int i = 0; i < arrarr.length; i++) {
			for(int j = 0; j < arrarr[i].length; j++) {
				if(arrarr[i][j] > max) {
					max = arrarr[i][j];
				}
			}
		}
		System.out.println("max: " + max);
	}
	
	
	public static void main1(String[] args) {
		
		int[][] arrarr = new int[5][];
		for(int i = 0; i < arrarr.length; i++) {
			arrarr[i] = new int[i + 2];			//子数组再分配空间
			for(int j = 0; j < arrarr[i].length; j++) {
				arrarr[i][j] = (int)(Math.random() * 100);
			}
		}
		
		//增强for
		for(int[] child : arrarr) {
			for(int temp : child) {
				System.out.print(temp + " ");
			}
			System.out.println();
		}
		
		//求和,求平均数
		int sum = 0;
		int count = 0;
		for(int i = 0; i < arrarr.length; i++) {
			for(int j = 0; j < arrarr[i].length; j++) {
				sum += arrarr[i][j];
				count++;
			}	
		}
		System.out.println(sum);
		System.out.println(sum / count);
	}
}