Hello2DArrays
//
// Hello2DArrays.java
//
public class Hello2DArrays
{
public static void doStuff(int[][] values)
{
System.out.println("Hello, 2D Arrays!\n");
System.out.println("values.length: " + values.length);
System.out.println("values[0][0]: " + values[0][0]);
System.out.println("values[2][1]: " + values[2][0]);
// System.out.println("values[2][1]: " + values[2][1]); // array out of bounds exception
System.out.println();
System.out.println("values:");
printStuff(values);
}
public static void printStuff(int[][] values)
{
// demonstration of a for loop to iterate through 2D array
for (int i=0; i<values.length; i++) // for each row
{
// print the ith row
for (int j=0; j<values[i].length; j++)
{
System.out.print(values[i][j] + " "); // no newline
}
System.out.println(); // print a newline
}
System.out.println();
}
public static void printStuff2(int[][] values)
{
// demonstration of a for-each loop to iterate through 2D array
for (int[] row : values) // for each row
{
for (int value : row)
{
System.out.print(value + " ");
}
System.out.println();
}
System.out.println();
}
public static int[][] createDiagonalArray()
{
// creates, initializes, and returns a new 2D array
int[][] result = new int[10][10];
// fill in 1 on diagonal, 0 everywhere else
for (int i=0; i<10; i++)
{
for (int j=0; j<10; j++)
{
if (i == j)
result[i][j] = 1;
else
result[i][j] = 0;
}
}
return result;
}
public static int sum(int[][] values)
{
int total = 0;
for (int[] row : values)
{
for (int value : row)
total += value;
}
return total;
}
public static void main(String[] args)
{
int[][] values = {
{1, 3, 5},
{2, 4},
{6}
};
doStuff(values);
// initialization
int[][] diagonal = createDiagonalArray();
System.out.println("diagonal:");
printStuff2(diagonal);
// computation
System.out.println("sum(values):" + sum(values)); // 21
System.out.println("sum(diagonal):" + sum(diagonal)); // 10
}
}
Output:
Hello, 2D Arrays!
values.length: 3
values[0][0]: 1
values[2][1]: 6
values:
1 3 5
2 4
6
diagonal:
1 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 1
sum(values):21
sum(diagonal):10