lots of exercises in java... from https://github.com/exercism/java

Matrix.java 1.1KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import java.util.regex.Pattern;
  2. class Matrix {
  3. private int[][] matrix;
  4. private static Pattern spacePattern = Pattern.compile(" ");
  5. private static Pattern newlinePattern = Pattern.compile("\\n");
  6. Matrix(String matrixAsString) {
  7. String[] rows = newlinePattern.split(matrixAsString);
  8. matrix = new int[rows.length][];
  9. for (int i = 0; i < rows.length; i++) {
  10. String[] columnValues = spacePattern.split(rows[i]);
  11. matrix[i] = new int[columnValues.length];
  12. for (int j = 0; j < columnValues.length; j++) {
  13. matrix[i][j] = Integer.parseInt(columnValues[j]);
  14. }
  15. }
  16. }
  17. int[] getRow(int rowNumber) {
  18. return matrix[rowNumber];
  19. }
  20. int[] getColumn(int columnNumber) {
  21. int[] column = new int[matrix.length];
  22. for(int i = 0; i < matrix.length; i++) {
  23. column[i] = matrix[i][columnNumber];
  24. }
  25. return column;
  26. }
  27. int getRowsCount() {
  28. return matrix.length;
  29. }
  30. int getColumnsCount() {
  31. return matrix[0].length;
  32. }
  33. }