Unit 8 - 2D Arrays
Homework
- [X] Create a class for 2D array learning.
- [X] Create a method too initialize a 2D array with arbitrary values
- [X] Create a method to reverse the 2D array and print out the values
- [X] Create a method that asks for the input of a position and it returns the corresponding value
- [X] Create a method that multiplies each value in a row and then adds all the products together
- [X] Create a new object to test out each method in the main function
/**
* 2D Array Lesson HW
*
* @author Natalie Beckwith
* @version 1
*/
import java.util.Scanner;
public class DoubleArrayLearning
{
final static private int NUM_ROWS = 4;
final static private int NUM_COLUMNS = 4;
/**
* Creates an array and sets values to the array
*
* @return the array with assigned values
*/
public int[][] getArray()
{
int[][] array =
{
{ 4, 0, 7, 12},
{ 8, 11, 5, 9},
{ 13, 3, 6, 1},
{ 10, 2, 15, 14}
};
return array;
}
/**
* Prints the array
*
* @param array
*/
public void printArray(int[][] array)
{
// iterates through each row
for (int row = 0; row < NUM_ROWS; row++)
{
// iterates through each column
for (int column = 0; column < NUM_COLUMNS; column++)
{
// prints value in the array
System.out.printf("%d\t", array[row][column]);
}
System.out.printf("\n");
}
}
/**
* Prints the array in reverse order
*
* @param array
*/
public void reverseArray(int[][] array)
{
// iterates backwards starting at the last row
for (int row = NUM_ROWS - 1; row >= 0; row--)
{
// iterates through each column starting at the last element
for (int column = NUM_COLUMNS - 1; column >= 0; column--)
{
System.out.printf("%d\t", array[row][column]);
}
System.out.printf("\n");
}
}
/**
* User enters row and column and is given the value of the element they entered
*
* @param array
*/
public void userArray(int[][] array)
{
Scanner scanner = new Scanner(System.in);
System.out.printf("Enter a row: ");
int row = scanner.nextInt();
System.out.printf("\nEnter a column: ");
int column = scanner.nextInt();
System.out.printf("\nThe element you entered was [%d],[%d], which has the value: %d\n",
row, column, array[row][column]);
scanner.close();
}
/**
* Multiplies each value in a row and adds all products together
*
* @param array
*/
public void product(int[][] array)
{
int sums = 0;
// iterates through each row
for (int row = 0; row < NUM_ROWS; row++)
{
int product = 1;
// iterates through each column
for (int column = 0; column < NUM_COLUMNS; column++)
{
product *= array[row][column];
}
System.out.printf("%d\n", product);
sums += product;
}
// prints values in array
System.out.printf("\nSum of products: %d", sums);
}
/**
* Main/Tester method
*
* @param Args
*/
public static void main(String[] Args)
{
DoubleArrayLearning doubleArrayLearning = new DoubleArrayLearning();
int[][] nums = doubleArrayLearning.getArray();
// prints the original array
System.out.printf("Part #1:\n");
doubleArrayLearning.printArray(nums);
// reverses the order of the array
System.out.printf("\nPart #2:\n");
doubleArrayLearning.reverseArray(nums);
// prompts the user to enter a row and column
System.out.printf("\nPart #3:\n");
doubleArrayLearning.userArray(nums);
// multiplies each row and adds the together
System.out.printf("\nPart #4:\n");
doubleArrayLearning.product(nums);
}
}
DoubleArrayLearning.main(null);