package jicos.examples.pieceworkmatrixproduct; final class Matrix implements java.io.Serializable { int[][] m; public Matrix( int[][] m ) { this.m = m; } public Matrix( int n ) { int[][] m = new int[n][n]; for( int i = 0; i < n; i++ ) for( int j = 0; j < n; j++ ) { m[i][j] = 0; } this.m = m; } void addSubMatrix( Matrix s, int row, int col, int rows, int cols) { for( int i = 0; i < rows; i++ ) for( int j = 0; j < cols; j++ ) { m[i + row][j + col] += s.m[i][j]; } } static Matrix makeMatrix( int n ) { int[][] matrix = new int[n][n]; for ( int i = 0; i < n; i++) for ( int j = 0; j < n; j++) { matrix[i][j] = 1; } return new Matrix( matrix ); } void print() { for( int i = 0; i < m.length; i++ ) { System.out.print(" row " + i + ":"); for( int j = 0; j < m[0].length; j++ ) { System.out.print(" " + m[i][j]); } System.out.println(" "); } } }