bla
parent
f22a7f08cd
commit
baf31141c8
|
|
@ -9,11 +9,10 @@ public class Time {
|
||||||
formatRichtig = false;
|
formatRichtig = false;
|
||||||
} else if (time.length() != 5 || time.charAt(2) != ':') {
|
} else if (time.length() != 5 || time.charAt(2) != ':') {
|
||||||
formatRichtig = false;
|
formatRichtig = false;
|
||||||
} else {
|
} else if (time.matches(regex)) {
|
||||||
if (time.matches(regex)) {
|
formatRichtig = true;
|
||||||
formatRichtig = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return formatRichtig;
|
return formatRichtig;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
30
Vector.java
30
Vector.java
|
|
@ -2,14 +2,18 @@
|
||||||
public class Vector {
|
public class Vector {
|
||||||
|
|
||||||
public static void scalarMultiplication(int[] vector, int scalar) {
|
public static void scalarMultiplication(int[] vector, int scalar) {
|
||||||
for (int position = 0; position < vector.length; position++) {
|
if (vector != null) {
|
||||||
vector[position] *= scalar;
|
for (int position = 0; position < vector.length; position++) {
|
||||||
|
vector[position] *= scalar;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void vectorProduct(int[] vector1, int[] vector2) {
|
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];
|
int[] kreuzVektor3D = new int[3];
|
||||||
kreuzVektor3D[0] = (vector1[1] * vector2[2]) - (vector1[2] * vector2[1]);
|
kreuzVektor3D[0] = (vector1[1] * vector2[2]) - (vector1[2] * vector2[1]);
|
||||||
kreuzVektor3D[1] = (vector1[2] * vector2[0]) - (vector1[0] * vector2[2]);
|
kreuzVektor3D[1] = (vector1[2] * vector2[0]) - (vector1[0] * vector2[2]);
|
||||||
|
|
@ -32,10 +36,12 @@ public class Vector {
|
||||||
public static double vectorLength(int[] vector) {
|
public static double vectorLength(int[] vector) {
|
||||||
double qSumme = 0.0;
|
double qSumme = 0.0;
|
||||||
double betrag = 0.0;
|
double betrag = 0.0;
|
||||||
for (int i = 0; i < vector.length; i++) {
|
if (vector != null) {
|
||||||
qSumme = qSumme + (vector[i] * vector[i]);
|
for (int i = 0; i < vector.length; i++) {
|
||||||
|
qSumme = qSumme + (vector[i] * vector[i]);
|
||||||
|
}
|
||||||
|
betrag = Math.sqrt(qSumme);
|
||||||
}
|
}
|
||||||
betrag = Math.sqrt(qSumme);
|
|
||||||
|
|
||||||
return betrag;
|
return betrag;
|
||||||
|
|
||||||
|
|
@ -43,20 +49,18 @@ public class Vector {
|
||||||
|
|
||||||
public static int[][] matrixMultiplication(int[][] matrix, int scalar) {
|
public static int[][] matrixMultiplication(int[][] matrix, int scalar) {
|
||||||
int[][] ausgabe;
|
int[][] ausgabe;
|
||||||
|
|
||||||
if (matrix == null){
|
if (matrix == null) {
|
||||||
ausgabe = 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];
|
ausgabe = new int[3][3];
|
||||||
for (int außenPos = 0; außenPos < matrix.length; außenPos++) {
|
for (int außenPos = 0; außenPos < matrix.length; außenPos++) {
|
||||||
for (int innenPos = 0; innenPos < matrix[außenPos].length; innenPos++) {
|
for (int innenPos = 0; innenPos < matrix[außenPos].length; innenPos++) {
|
||||||
ausgabe[außenPos][innenPos] = matrix[außenPos][innenPos] * scalar;
|
ausgabe[außenPos][innenPos] = matrix[außenPos][innenPos] * scalar;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
ausgabe = null;
|
ausgabe = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,23 +7,25 @@ public class VectorTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testScalarMultiplicationVariants() {
|
void testScalarMultiplicationVariants() {
|
||||||
int[] v1 = { 1, -2, 3 };
|
int[] vector1 = { 1, -2, 3 };
|
||||||
Vector.scalarMultiplication(v1, 2);
|
Vector.scalarMultiplication(vector1, 2);
|
||||||
assertArrayEquals(new int[] { 2, 4, 6 }, v1);
|
assertArrayEquals(new int[] { 2, -4, 6 }, vector1);
|
||||||
|
|
||||||
int[] v2 = { 7, 8, 15 };
|
int[] vector2 = { 7, 8, 15 };
|
||||||
Vector.scalarMultiplication(v2, -1);
|
Vector.scalarMultiplication(vector2, -1);
|
||||||
assertArrayEquals(new int[] { -7, -8, -15 }, v2);
|
assertArrayEquals(new int[] { -7, -8, -15 }, vector2);
|
||||||
|
|
||||||
int[] v3 = { 0,0,0};
|
int[] vector3 = { 0, 0, 0 };
|
||||||
Vector.scalarMultiplication(v3, 5);
|
Vector.scalarMultiplication(vector3, 5);
|
||||||
assertArrayEquals(new int[] { 0, 0, 0 }, v3);
|
assertArrayEquals(new int[] { 0, 0, 0 }, vector3);
|
||||||
int[] v4 = {};
|
|
||||||
Vector.scalarMultiplication(v4, 2);
|
int[] vector4 = {};
|
||||||
assertArrayEquals(new int[] { 0,0,0}, v4);
|
Vector.scalarMultiplication(vector4, 2);
|
||||||
int[] v5 = null;
|
assertArrayEquals(new int[] {}, vector4);
|
||||||
Vector.scalarMultiplication(v5, 5);
|
|
||||||
assertArrayEquals(null, v5);
|
int[] vector5 = null;
|
||||||
|
Vector.scalarMultiplication(vector5, 5);
|
||||||
|
assertArrayEquals(null, vector5);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
@ -31,6 +33,7 @@ public class VectorTest {
|
||||||
int ergebnis1 = -2;
|
int ergebnis1 = -2;
|
||||||
System.out.println("Erwartet: " + ergebnis1);
|
System.out.println("Erwartet: " + ergebnis1);
|
||||||
Vector.vectorProduct(new int[] { 3, 4 }, new int[] { 5, 6 });
|
Vector.vectorProduct(new int[] { 3, 4 }, new int[] { 5, 6 });
|
||||||
|
|
||||||
int ergebnis2 = -1;
|
int ergebnis2 = -1;
|
||||||
System.out.println("Erwartet: " + ergebnis2);
|
System.out.println("Erwartet: " + ergebnis2);
|
||||||
Vector.vectorProduct(new int[] { 0, 1 }, new int[] { 1, 0 });
|
Vector.vectorProduct(new int[] { 0, 1 }, new int[] { 1, 0 });
|
||||||
|
|
@ -42,6 +45,7 @@ public class VectorTest {
|
||||||
int[] ergebnis1 = { -3, 6, -3 };
|
int[] ergebnis1 = { -3, 6, -3 };
|
||||||
System.out.println("Erwartet: [" + ergebnis1[0] + ", " + ergebnis1[1] + ", " + ergebnis1[2] + "]");
|
System.out.println("Erwartet: [" + ergebnis1[0] + ", " + ergebnis1[1] + ", " + ergebnis1[2] + "]");
|
||||||
Vector.vectorProduct(new int[] { 1, 2, 3 }, new int[] { 4, 5, 6 });
|
Vector.vectorProduct(new int[] { 1, 2, 3 }, new int[] { 4, 5, 6 });
|
||||||
|
|
||||||
int[] ergebnis2 = { -1, 0, 0 };
|
int[] ergebnis2 = { -1, 0, 0 };
|
||||||
System.out.println("Erwartet: [" + ergebnis2[0] + ", " + ergebnis2[1] + ", " + ergebnis2[2] + "]");
|
System.out.println("Erwartet: [" + ergebnis2[0] + ", " + ergebnis2[1] + ", " + ergebnis2[2] + "]");
|
||||||
Vector.vectorProduct(new int[] { 0, 0, 1 }, new int[] { 0, 1, 0 });
|
Vector.vectorProduct(new int[] { 0, 0, 1 }, new int[] { 0, 1, 0 });
|
||||||
|
|
@ -91,20 +95,21 @@ public class VectorTest {
|
||||||
@Test
|
@Test
|
||||||
void testMatrixMultiplicationInvalidCases() {
|
void testMatrixMultiplicationInvalidCases() {
|
||||||
int[][] non3DSquare = {
|
int[][] non3DSquare = {
|
||||||
{ 1, 2 },
|
{ 1, 2, 3 },
|
||||||
{ 3, 4 }
|
{ 4, 5, 6 }
|
||||||
};
|
};
|
||||||
assertNull(Vector.matrixMultiplication(non3DSquare, 3));
|
assertNull(Vector.matrixMultiplication(non3DSquare, 3));
|
||||||
int[][] non3DSquare1 = {
|
int[][] non3DSquare1 = {
|
||||||
{ 1, 2 },
|
{ 1, 2, 3 },
|
||||||
{ 3, 4 ,5}
|
{ 3, 4, 5 },
|
||||||
|
{ 6, 7 }
|
||||||
};
|
};
|
||||||
assertNull(Vector.matrixMultiplication(non3DSquare1, 3));
|
assertNull(Vector.matrixMultiplication(non3DSquare1, 3));
|
||||||
int[][] non3DSquare2 = {
|
int[][] non3DSquare2 = {
|
||||||
{ 1, 1, 1},
|
{ 1, 1, 1 },
|
||||||
{ 2, 2, 2},
|
{ 2, 2, 2 },
|
||||||
{ 3, 3, 3},
|
{ 3, 3, 3 },
|
||||||
{ 4, 4, 4}
|
{ 4, 4, 4 }
|
||||||
};
|
};
|
||||||
assertNull(Vector.matrixMultiplication(non3DSquare2, 3));
|
assertNull(Vector.matrixMultiplication(non3DSquare2, 3));
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue