# MatrixOperation
# LinkedList
## Node
```
```
```java=
package SB3;
public class MatrixOperation {
public static int[][] add(int[][] first, int[][] second) {
if (first.length != 0 && first.length == second.length) {
int result[][] = new int[first.length][first[0].length];
for (int i = 0; i < first.length; i++) {
if (first[i].length == second[i].length && first[i].length != 0 && first[i].length == first[0].length) {
for (int j = 0; j < first[i].length; j++) {
result[i][j] = first[i][j] + second[i][j];
}
}
else {
return null;
}
}
return result;
}
return null;
}
public static int[][] multiply(int[][] first, int[][] second) {
if (first.length != 0 && second.length != 0) {
if (second[0].length > first[0].length || first[0].length == 0 || second[0].length == 0) {
return null;
}
int result[][] = new int[first[0].length][second[0].length];
for (int i = 0; i < result.length; i++) {
if (first[i].length == second.length) {
for (int j = 0; j < second[0].length; j++) {
for(int k = 0; k < first.length; k++) {
if (second[k].length == second[0].length) {
result[i][j] = result[i][j] + first[i][k] * second[k][j];
}
else {
return null;
}
}
}
}
else {
return null;
}
}
return result;
}
return null;
}
//public static void main(String[] args){
//int[][] empty = {};
//int[][] first = {{1,2,3}, {4,5,6}, {7,8,9}};
//int[][] second = {{1,2}, {3,4}, {5,6}};
//int[][] addResult = add(first, second);
//int[][] multiplyResult = multiply(first, second);
¦//addResult is {{6,8},{10,12}}
//System.out.println(first[0][0]);
//System.out.println(first[0][1]);
//System.out.println(addResult[0][0]);
//System.out.println(addResult[0][1]);
//System.out.println(addResult[0][2]);
//System.out.println(addResult[1][0]);
//System.out.println(addResult[1][1]);
//System.out.println(addResult[1][2]);
//System.out.println(multiplyResult[0][0]);
//System.out.println(multiplyResult[0][1]);
//System.out.println(multiplyResult[1][0]);
//System.out.println(multiplyResult[1][1]);
//System.out.println(multiplyResult[2][0]);
//System.out.println(multiplyResult[2][1]);
//System.out.println(empty.length);
//}
}
```