MATRIX Class:
package matrix;
import java.util.Scanner;
public class Matrix {
private int ROWS;
private int COLOUM;
private int totalMatrix;
public double mat[][][];
Scanner input = new Scanner(System.in);
public Matrix(int rows,int coloum,int matNo){
ROWS = rows;
COLOUM = coloum;
totalMatrix = matNo;
mat = new double[totalMatrix+1][ROWS][COLOUM];
}
public void add(int oprnd1,int oprnd2){
for(int i = 0;i<ROWS;i++)
for(int j=0 ; j<COLOUM;j++)
mat[totalMatrix][i][j] = mat[oprnd1-1][i][j] + mat[oprnd2-1][i][j];
}
public void subtract(int oprnd1,int oprnd2){
for(int i = 0;i<ROWS;i++)
for(int j=0 ; j<COLOUM;j++)
mat[totalMatrix][i][j] = mat[oprnd1-1][i][j] - mat[oprnd2-1][i][j];
}
public void multiplication(int oprnd1,int oprnd2){
if(ROWS == COLOUM)
for(int i = 0;i<ROWS;i++)
for(int j=0 ; j<COLOUM;j++)
for(int k = 0;k<ROWS;k++ )
mat[totalMatrix][i][j] += (mat[oprnd1-1][i][k]*mat[oprnd2-1][k][j]);
}
public void transpose(int matNo){
double matRes[][] = new double[ROWS][COLOUM];
for(int j = 0;j<ROWS;j++)
for(int i=0 ; i<COLOUM ; i++)
matRes[i][j]=mat[matNo-1][i][j];
for(int j = 0;j<ROWS;j++)
for(int i=0 ; i<COLOUM ; i++)
mat[matNo-1][i][j]=matRes[j][i];
}
public void setMat(int matNo){
for(int i = 0;i<ROWS;i++)
for(int j=0 ; j<COLOUM;j++)
{
System.out.printf("Enter number for Matrix %d [%d][%d] : ",matNo,i+1,j+1);
mat[matNo-1][i][j] = input.nextDouble();
}
}
public void display(int matNo){
for(int i = 0;i<ROWS;i++)
{
for(int j=0 ; j<COLOUM;j++)
System.out.print(mat[matNo-1][i][j]+"\t");
System.out.println();
}
}
}
MATRIX Test Class:
package matrix;
import java.util.Scanner;
public class MatrixTest {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter [Rows][Coloum] : ");
int rows = input.nextInt();
int coloum = input.nextInt();
System.out.print("Enter count of MATRICES to create : ");
int matCount = input.nextInt();
Matrix matrix = new Matrix(rows,coloum,matCount);
while(true)
{
System.out.print("1. Setting Matrices\n"
+"2. Operations\n"
+"3. Display\n"
+"4. Exit\n"
+"Enter your Choice : ");
switch (input.nextInt())
{
case 1:
System.out.print("Enter Matrix number to set : ");
int matNo = input.nextInt();
matrix.setMat(matNo);
break;
case 2:
System.out.print("1. Addition\n"
+"2. Subtraction\n"
+"3. Multiplication\n"
+"4. Transpose\n"
+"Enter operation : ");
int choice = input.nextInt();
System.out.print("Enter matrices"
+ " for operation : ");
int mat1 = input.nextInt();
int mat2 = input.nextInt();
switch (choice)
{
case 1:
matrix.add(mat1, mat2);
matrix.display(matCount+1);
break;
case 2:
matrix.subtract(mat1, mat2);
matrix.display(matCount+1);
break;
case 3:
matrix.multiplication(mat1, mat2);
matrix.display(matCount+1);
break;
case 4:
matrix.transpose(mat1);
matrix.display(mat1);
break;
}
break;
case 3:
System.out.print("Enter Matrix number to display : ");
matrix.display(input.nextInt());
break;
case 4:
System.exit(0);
}
}
}
}
follow for appreciation.