public class Matrix { private int[][] matrix; /** * default constructor -- * Cre
ID: 3884445 • Letter: P
Question
public class Matrix {
private int[][] matrix;
/**
* default constructor --
* Creates an matrix that has 2 rows and 2 columns
*/
public Matrix(int [][] m)
{
boolean valid = true;
for(int r = 1; r < m.length && valid; r++)
{
if(m[r].length != m[0].length)
valid = false;
}
if(valid)
matrix = m;
else
matrix = null;
}
public String toString()
{
String str = "";
for (int i = 0 ; i<matrix.length; i ++ ){
for (int j = 0 ; j < matrix.length ; j++){
str += matrix[i][j]+" ";
}
str += " ";
}
return str;
}
public Matrix add(Matrix om)
{
Matrix newMatrix = null;
if(om.matrix[0].length == this.matrix[0].length)
{
newMatrix = new Matrix(new int[matrix.length][matrix.length]);
for (int i = 0; i < om.matrix[0].length; i++)
for (int j = 0; j < om.matrix[0].length; j++)
newMatrix.matrix[i][j] = om.matrix[i][j] + this.matrix[i][j];
}
return newMatrix;
}
public Matrix sub(Matrix om) {
{
Matrix newMatrix = null;
if(om.matrix[0].length == this.matrix[0].length)
{
newMatrix.matrix = new int[matrix.length][matrix.length];
for (int i = 0; i < om.matrix[0].length; i++)
for (int j = 0; j < om.matrix[0].length; j++)
newMatrix.matrix[i][j] = om.matrix[i][j] - this.matrix[i][j];
}
return newMatrix;
}
}
public Matrix multi(Matrix om) {
return null;
}
public Matrix scalar(Matrix om) {
return null;
}
public boolean equal(Matrix om) {
return false;
}
public Matrix transpose(Matrix om) {
return null;
}
//sub, multi, scalar, equal, transpose methods need editing but not sure how to fix
Explanation / Answer
// I have added code for default constructor, equal and transpose function and checked if your add and sub are correct
public class Matrix {
private int[][] matrix;
/**
* default constructor --
* Creates an matrix that has 2 rows and 2 columns
*/
public Matrix()
{
matrix = new int[2][2]; // matrix of 2 rows and 2 columns
}
public Matrix(int [][] m)
{
boolean valid = true;
for(int r = 1; r < m.length && valid; r++)
{
if(m[r].length != m[0].length)
valid = false;
}
if(valid)
matrix = m;
else
matrix = null;
}
public String toString()
{
String str = "";
for (int i = 0 ; i<matrix.length; i ++ ){
for (int j = 0 ; j < matrix.length ; j++){
str += matrix[i][j]+" ";
}
str += " ";
}
return str;
}
public Matrix add(Matrix om)
{
Matrix newMatrix = null;
if(om.matrix[0].length == this.matrix[0].length)
{
newMatrix = new Matrix(new int[matrix.length][matrix.length]);
for (int i = 0; i < om.matrix[0].length; i++)
for (int j = 0; j < om.matrix[0].length; j++)
newMatrix.matrix[i][j] = om.matrix[i][j] + this.matrix[i][j];
}
return newMatrix;
}
public Matrix sub(Matrix om) {
{
Matrix newMatrix = null;
if(om.matrix[0].length == this.matrix[0].length)
{
newMatrix.matrix = new int[matrix.length][matrix.length];
for (int i = 0; i < om.matrix[0].length; i++)
for (int j = 0; j < om.matrix[0].length; j++)
newMatrix.matrix[i][j] = om.matrix[i][j] - this.matrix[i][j];
}
return newMatrix;
}
}
public Matrix multi(Matrix om) {
return null;
}
public Matrix scalar(Matrix om) {
return null;
}
public boolean equal(Matrix om) {
for (int i = 0; i < om.matrix.length; i++)
for (int j = 0; j < om.matrix[0].length; j++)
if(om.matrix[i][j]!=this.matrix[i][j])
return false;
return true;
}
public Matrix transpose(Matrix om) {
Matrix newMatrix = null;
newMatrix.matrix = new int[om.matrix[0].length][om.matrix.length];
for (int i = 0; i < om.matrix.length; i++)
for (int j = 0; j < om.matrix[0].length; j++)
newMatrix.matrix[j][i] = om.matrix[i][j];
return newMatrix;
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.