bla
parent
f22a7f08cd
commit
baf31141c8
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
30
Vector.java
30
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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue