From baf31141c826ef498bcf305037896c3cc62b3216 Mon Sep 17 00:00:00 2001 From: Carumar <1720808@stud.hs-mannheim.de> Date: Tue, 20 May 2025 16:25:28 +0200 Subject: [PATCH] bla --- Time.java | 7 +++---- Vector.java | 30 ++++++++++++++++------------ VectorTest.java | 53 +++++++++++++++++++++++++++---------------------- 3 files changed, 49 insertions(+), 41 deletions(-) diff --git a/Time.java b/Time.java index ab8e7e7..9c5b7a5 100644 --- a/Time.java +++ b/Time.java @@ -9,11 +9,10 @@ public class Time { formatRichtig = false; } else if (time.length() != 5 || time.charAt(2) != ':') { formatRichtig = false; - } else { - if (time.matches(regex)) { - formatRichtig = true; - } + } else if (time.matches(regex)) { + formatRichtig = true; } + return formatRichtig; } diff --git a/Vector.java b/Vector.java index 600dc16..bab2b7f 100644 --- a/Vector.java +++ b/Vector.java @@ -2,14 +2,18 @@ public class Vector { public static void scalarMultiplication(int[] vector, int scalar) { - for (int position = 0; position < vector.length; position++) { - vector[position] *= scalar; + if (vector != null) { + for (int position = 0; position < vector.length; position++) { + vector[position] *= scalar; + } } } public static void vectorProduct(int[] vector1, int[] vector2) { - if (vector1.length == vector2.length && vector2.length == 3) { + if (vector1 == null || vector2 == null) { + System.out.println("Wegen unterschiedlichen Dimensionen ist das Kreuzprodukt nicht erlaubt"); + } else if (vector1.length == vector2.length && vector2.length == 3) { int[] kreuzVektor3D = new int[3]; kreuzVektor3D[0] = (vector1[1] * vector2[2]) - (vector1[2] * vector2[1]); kreuzVektor3D[1] = (vector1[2] * vector2[0]) - (vector1[0] * vector2[2]); @@ -32,10 +36,12 @@ public class Vector { public static double vectorLength(int[] vector) { double qSumme = 0.0; double betrag = 0.0; - for (int i = 0; i < vector.length; i++) { - qSumme = qSumme + (vector[i] * vector[i]); + if (vector != null) { + for (int i = 0; i < vector.length; i++) { + qSumme = qSumme + (vector[i] * vector[i]); + } + betrag = Math.sqrt(qSumme); } - betrag = Math.sqrt(qSumme); return betrag; @@ -43,20 +49,18 @@ public class Vector { public static int[][] matrixMultiplication(int[][] matrix, int scalar) { int[][] ausgabe; - - if (matrix == null){ + + if (matrix == null) { ausgabe = null; - } - else if (matrix.length == 3 && matrix[0].length == 3 && matrix[1].length == 3 && matrix[2].length == 3) { + } else if (matrix.length == 3 && matrix[0].length == 3 && matrix[1].length == 3 && matrix[2].length == 3) { ausgabe = new int[3][3]; for (int außenPos = 0; außenPos < matrix.length; außenPos++) { for (int innenPos = 0; innenPos < matrix[außenPos].length; innenPos++) { ausgabe[außenPos][innenPos] = matrix[außenPos][innenPos] * scalar; } } - - } - else { + + } else { ausgabe = null; } diff --git a/VectorTest.java b/VectorTest.java index 5a1ff0b..bff0832 100644 --- a/VectorTest.java +++ b/VectorTest.java @@ -7,23 +7,25 @@ public class VectorTest { @Test void testScalarMultiplicationVariants() { - int[] v1 = { 1, -2, 3 }; - Vector.scalarMultiplication(v1, 2); - assertArrayEquals(new int[] { 2, 4, 6 }, v1); + int[] vector1 = { 1, -2, 3 }; + Vector.scalarMultiplication(vector1, 2); + assertArrayEquals(new int[] { 2, -4, 6 }, vector1); - int[] v2 = { 7, 8, 15 }; - Vector.scalarMultiplication(v2, -1); - assertArrayEquals(new int[] { -7, -8, -15 }, v2); + int[] vector2 = { 7, 8, 15 }; + Vector.scalarMultiplication(vector2, -1); + assertArrayEquals(new int[] { -7, -8, -15 }, vector2); - int[] v3 = { 0,0,0}; - Vector.scalarMultiplication(v3, 5); - assertArrayEquals(new int[] { 0, 0, 0 }, v3); - int[] v4 = {}; - Vector.scalarMultiplication(v4, 2); - assertArrayEquals(new int[] { 0,0,0}, v4); - int[] v5 = null; - Vector.scalarMultiplication(v5, 5); - assertArrayEquals(null, v5); + int[] vector3 = { 0, 0, 0 }; + Vector.scalarMultiplication(vector3, 5); + assertArrayEquals(new int[] { 0, 0, 0 }, vector3); + + int[] vector4 = {}; + Vector.scalarMultiplication(vector4, 2); + assertArrayEquals(new int[] {}, vector4); + + int[] vector5 = null; + Vector.scalarMultiplication(vector5, 5); + assertArrayEquals(null, vector5); } @Test @@ -31,6 +33,7 @@ public class VectorTest { int ergebnis1 = -2; System.out.println("Erwartet: " + ergebnis1); Vector.vectorProduct(new int[] { 3, 4 }, new int[] { 5, 6 }); + int ergebnis2 = -1; System.out.println("Erwartet: " + ergebnis2); Vector.vectorProduct(new int[] { 0, 1 }, new int[] { 1, 0 }); @@ -42,6 +45,7 @@ public class VectorTest { int[] ergebnis1 = { -3, 6, -3 }; System.out.println("Erwartet: [" + ergebnis1[0] + ", " + ergebnis1[1] + ", " + ergebnis1[2] + "]"); Vector.vectorProduct(new int[] { 1, 2, 3 }, new int[] { 4, 5, 6 }); + int[] ergebnis2 = { -1, 0, 0 }; System.out.println("Erwartet: [" + ergebnis2[0] + ", " + ergebnis2[1] + ", " + ergebnis2[2] + "]"); Vector.vectorProduct(new int[] { 0, 0, 1 }, new int[] { 0, 1, 0 }); @@ -91,20 +95,21 @@ public class VectorTest { @Test void testMatrixMultiplicationInvalidCases() { int[][] non3DSquare = { - { 1, 2 }, - { 3, 4 } + { 1, 2, 3 }, + { 4, 5, 6 } }; assertNull(Vector.matrixMultiplication(non3DSquare, 3)); int[][] non3DSquare1 = { - { 1, 2 }, - { 3, 4 ,5} + { 1, 2, 3 }, + { 3, 4, 5 }, + { 6, 7 } }; - assertNull(Vector.matrixMultiplication(non3DSquare1, 3)); + assertNull(Vector.matrixMultiplication(non3DSquare1, 3)); int[][] non3DSquare2 = { - { 1, 1, 1}, - { 2, 2, 2}, - { 3, 3, 3}, - { 4, 4, 4} + { 1, 1, 1 }, + { 2, 2, 2 }, + { 3, 3, 3 }, + { 4, 4, 4 } }; assertNull(Vector.matrixMultiplication(non3DSquare2, 3));