Presentation is loading. Please wait.

Presentation is loading. Please wait.

Building Java Programs Chapter 7.5

Similar presentations


Presentation on theme: "Building Java Programs Chapter 7.5"— Presentation transcript:

1 Building Java Programs Chapter 7.5
Multidimensional Arrays

2 two-dimensional array
Allow for the creation of table-like data structures with a row and column format. The first subscript is a row index in a table while the second subscript is a column index in a table. Declaration type[][] name = new type [row size][col size] Examples int [][] grid = new int[3][4]; cols 1 2 3 [0][0] [0][1] [0][2] [0][3] rows 1 [1][0] [1][1] [1][2] [1][3] 2 [2][3] [2][0] [2][1] [2][2]

3 declarations Think of a 2D Array as An Array of Arrays
int[][]table = new int[3][4]; int[][] table = { {0,0,0,0}, {0,0,0,0}, {0,0,0,0} }; Think of a 2D Array as An Array of Arrays

4 Referencing elements of 2D array
The array below is a 3 x 5 array of ints Declaration: Int [][] grid = new int[3][5]; grid[0][0]= grid[2][2]= grid[1][3]= grid[3][0]=  2 4  6  8 10   3  12 15   4 12   16 20 

5 Referencing elements of 2D array
The array below is a 3 x 5 array of ints Declaration: char [][] grid = new char[3][5]; grid[0][0]= grid[2][2]= grid[1][3]= grid[0][5]= A B C D E V W X Y Z H I J K L

6 Referencing elements of 2d Array
int[][] grid = new int[3][5]; for (int row = 0; row < 3; row++){ for (int col = 0; col < 5; col++){ grid[row][col] = row + col; } }

7 Passing Two-Dimensional Arrays to Methods
public void printTable (int[][] table){ for (int row = 0; row < table.length; row++){ for (int col = 0; col < table[row].length; col++){ System.out.printf(“%4d”, table[row][col]); } System.out.println(); } }

8 Lets try some code Write a piece of code that constructs a two-dimensional array of integers named table with 5 rows and 10 columns. Fill the array with a multiplication table, so that array element [i][j] contains the value i * j. Use nested for loops to build the array.

9 Multiplication table int[][] table = new int[5][10];//declaration for (int i = 0; i < 5; i++) { for (int j = 0; j < 10; j++) { table[i][j] = i * j; } int[][] table = new int[5][10];//declaration for (int i = 0; i < table.length; i++) { for (int j = 0; j < table[i].length; j++) { table[i][j] = i * j; }

10 More Code Matrix add Write a method named matrixAdd that accepts a pair of two-dimensional arrays of integers as parameters, treats the arrays as 2D matrices and adds them, returning the result. The sum of two matrices A and B is a matrix C where for every row i and column j, Cij = Aij + Bij. You may assume that the arrays passed as parameters have the same dimensions.

11 public static int[][] matrixAdd(int[][]a, int[][]b){ int rows = a
public static int[][] matrixAdd(int[][]a, int[][]b){ int rows = a.length; int cols = 0; if (rows>0){ cols=a[0].length; } int[][]sum= new int[rows][cols]; //declare sum matrix for(int r=0;r<a.length;r++){ for(int c=0;c<a[r].length;c++){ sum[r][c]=a[r][c] +b[r][c]; } return sum;

12 Create, populate and traverse multidimensional arrays!
What we covered Create, populate and traverse multidimensional arrays!


Download ppt "Building Java Programs Chapter 7.5"

Similar presentations


Ads by Google