diff --git a/README.md b/README.md index 9c0f157..75d424e 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ Dateien wie Bilder die zur Lösung einer Aufgabe gehören sind in
Medie - Vorlesung 7 komplett - Vorlesung 8 komplett - Vorlesung 9 Aufgabe 2 +- Vorlesung 10 Aufgabe 1 ## Angefangene unfertige Lösungen: - Damenproblem: VL 5 Aufgabe 2 diff --git a/src/part10/aufg1/Anwendung.java b/src/part10/aufg1/Anwendung.java new file mode 100644 index 0000000..0df5607 --- /dev/null +++ b/src/part10/aufg1/Anwendung.java @@ -0,0 +1,37 @@ +package part10.aufg1; + +import part10.aufg1.Exceptions.*; + +public class Anwendung { + + public static void main(String[] args){ + matrix nr1 = new matrix(2,3); + matrix nr2 = new matrix(3,3); + + nr1.setValue(1,1,1); + nr2.setValue(0,0,4); + + try{ + nr2.addMatrix(nr1); + } + catch (MatrixIncommpatibleForAdditionException e){ + System.out.println("==========================================="); + System.out.println("Details: \n" + e.getMessage()); + System.out.println("==========================================="); + } + + matrix nr3 = new matrix(2,3); + nr3.setRow(new int[]{1,2,3},0); + nr3.setRow(new int[]{4,5,6},1); + + + //matrix nr4 = new matrix(3,2); // works fine + matrix nr4 = new matrix(3,3); // causes Runtime Exception + + nr4.setCol(new int[]{7,9,11},0); + nr4.setCol(new int[]{8,10,12},1); + + + System.out.println(nr3.multiplyMatrix(nr4)); + } +} diff --git a/src/part10/aufg1/Exceptions/MatrixIncommpatibleForAdditionException.java b/src/part10/aufg1/Exceptions/MatrixIncommpatibleForAdditionException.java new file mode 100644 index 0000000..71e3830 --- /dev/null +++ b/src/part10/aufg1/Exceptions/MatrixIncommpatibleForAdditionException.java @@ -0,0 +1,8 @@ +package part10.aufg1.Exceptions; + +public class MatrixIncommpatibleForAdditionException extends Exception{ + MatrixIncommpatibleForAdditionException(String s){ + super(s); + } +} + diff --git a/src/part10/aufg1/Exceptions/MatrixIncompatibleForMultiplicationException.java b/src/part10/aufg1/Exceptions/MatrixIncompatibleForMultiplicationException.java new file mode 100644 index 0000000..ff1da8f --- /dev/null +++ b/src/part10/aufg1/Exceptions/MatrixIncompatibleForMultiplicationException.java @@ -0,0 +1,8 @@ +package part10.aufg1.Exceptions; + + + class MatrixIncompatibleForMultiplicationException extends RuntimeException{ + MatrixIncompatibleForMultiplicationException(String s){ + super(s); + } + } \ No newline at end of file diff --git a/src/part10/aufg1/Exceptions/matrix.java b/src/part10/aufg1/Exceptions/matrix.java new file mode 100644 index 0000000..0af8e53 --- /dev/null +++ b/src/part10/aufg1/Exceptions/matrix.java @@ -0,0 +1,171 @@ +package part10.aufg1.Exceptions; + +public class matrix { + private int numberOfRows; + private int numberOfCols; + int[][] field; + + public matrix(int numberOfRows, int numberOfCols){ + this.numberOfRows = numberOfRows; + this.numberOfCols = numberOfCols; + + field = new int[numberOfRows][numberOfCols]; + } + + public int getNumberOfCols() { + return numberOfCols; + } + + public int getNumberOfRows() { + return numberOfRows; + } + + public void print(){ + for (int i = 0; i