Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

For this assignment, you will implement the provided matrix interface (see Matrix.java). This interface files defines not only which methods you must implement, but gives

For this assignment, you will implement the provided matrix interface (see Matrix.java). This interface files defines not only which methods you must implement, but gives documentation that describes how they should work. Already provided for you is a base file to modify (ser222_01_02_hw02_base.java). The base contains an currently empty matrix class as well as some simple testing code. In order for it to be a reliable type, we will implement it as an immutable type. Creating this ADT will involve creating 9 methods: MyMatrix(int[][] matrix) - a constructor. [4 points] public int getElement(int y, int x) - see interface. [2 points] public int getRows() - see interface. [1 points] public int getColumns() - see interface. [1 points] public MyMatrix scale(int scalar) - see interface. [3 points] public MyMatrix plus(Matrix other) - see interface. [3 points] public MyMatrix minus(Matrix other) - see interface. [3 points] public MyMatrix multiply(Matrix other) - see interface. [5 points] boolean equals(Object other) - see interface. [4 points] (Hint: see Point2D from earlier.) String toString() - see interface. [4 points]. Be aware that some of the methods throw exceptions - this should be implemented.

/** * An implementation of the Matrix ADT. Provides four basic operations over an * immutable type. * * @author (your name), Ruben Acuna * @version (version) */ public class ser222_01_02_hw02_base implements Matrix { //TODO: implement interface. /** * Entry point for matrix testing. * @param args the command line arguments */ public static void main(String[] args) { int[][] data1 = new int[0][0]; int[][] data2 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int[][] data3 = {{1, 4, 7}, {2, 5, 8}, {3, 6, 9}}; int[][] data4 = {{1, 4, 7}, {2, 5, 8}, {3, 6, 9}}; Matrix m1 = new ser222_01_02_hw02_base(data1); Matrix m2 = new ser222_01_02_hw02_base(data2); Matrix m3 = new ser222_01_02_hw02_base(data3); Matrix m4 = new ser222_01_02_hw02_base(data4); System.out.println("m1 --> Rows: " + m1.getRows() + " Columns: " + m1.getColumns()); System.out.println("m2 --> Rows: " + m2.getRows() + " Columns: " + m2.getColumns()); System.out.println("m3 --> Rows: " + m3.getRows() + " Columns: " + m3.getColumns()); //check for reference issues System.out.println("m2 --> " + m2); data2[1][1] = 101; System.out.println("m2 --> " + m2); //test equals System.out.println("m2==null: " + m2.equals(null)); //false System.out.println("m3==\"MATRIX\": " + m2.equals("MATRIX")); //false System.out.println("m2==m1: " + m2.equals(m1)); //false System.out.println("m2==m2: " + m2.equals(m2)); //true System.out.println("m2==m3: " + m2.equals(m3)); //false System.out.println("m3==m4: " + m3.equals(m4)); //true //test operations (valid) System.out.println("2 * m2: " + m2.scale(2)); System.out.println("m2 + m3: " + m2.plus(m3)); System.out.println("m2 - m3: " + m2.minus(m3)); //not tested... multiply(). you know what to do. //test operations (invalid) //System.out.println("m1 + m2" + m1.plus(m2)); //System.out.println("m1 - m2" + m1.minus(m2)); } }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Students also viewed these Databases questions

Question

Construct and label the Diamond structure.

Answered: 1 week ago