Java Code Programieren?

1 Antwort

Aktivitätsdiagramm für scalarMultiplication(int[] vector, int scalar)
csharp
KopierenBearbeiten
Start
  ↓
Prüfe, ob vector ≠ null
  ↓
[Ja]
  ↓
Iteriere über alle Elemente von vector
  ↓
Multipliziere jedes Element mit scalar
  ↓
Setze das Ergebnis an der gleichen Position ein
  ↓
Ende

[Nein]
  ↓
Gib Fehlermeldung oder tue nichts
  ↓
Ende
Aktivitätsdiagramm für matrixMultiplication(int[][] matrix, int scalar)
sql
KopierenBearbeiten
Start
  ↓
Prüfe, ob matrix ≠ null UND 3 Zeilen UND jede Zeile hat 3 Spalten
  ↓
[Ja]
  ↓
Erzeuge neue Matrix result[3][3]
  ↓
Iteriere über alle Zeilen und Spalten
  ↓
Multipliziere jedes Element mit scalar und speichere in result
  ↓
Gib result zurück
  ↓
Ende

[Nein]
  ↓
Gib null zurück
  ↓
Ende
Java-Klasse: 
java
KopierenBearbeiten
public class Vector {

    // Skalarmultiplikation verändert den Vektor direkt
    public static void scalarMultiplication(int[] vector, int scalar) {
        if (vector == null) return;
        for (int i = 0; i < vector.length; i++) {
            vector[i] *= scalar;
        }
    }

    // Kreuzprodukt zweier Vektoren (nur bei 3D sinnvoll definiert)
    public static void vectorProduct(int[] vector1, int[] vector2) {
        if (vector1.length == 3 && vector2.length == 3) {
            int[] result = new int[3];
            result[0] = vector1[1] * vector2[2] - vector1[2] * vector2[1];
            result[1] = vector1[2] * vector2[0] - vector1[0] * vector2[2];
            result[2] = vector1[0] * vector2[1] - vector1[1] * vector2[0];
            System.out.println("Kreuzprodukt (3D): [" + result[0] + ", " + result[1] + ", " + result[2] + "]");
        } else if (vector1.length == 2 && vector2.length == 2) {
            // 2D-Kreuzprodukt = Skalarwert (Determinante der 2x2-Matrix)
            int result = vector1[0] * vector2[1] - vector1[1] * vector2[0];
            System.out.println("Kreuzprodukt (2D): " + result);
        } else {
            System.out.println("Fehler: Vektoren müssen beide 2D oder 3D sein.");
        }
    }

    // Vektorlänge (Betrag)
    public static double vectorLength(int[] vector) {
        int sum = 0;
        for (int val : vector) {
            sum += val * val;
        }
        return Math.sqrt(sum);
    }

    // Skalarmultiplikation einer 3x3-Matrix
    public static int[][] matrixMultiplication(int[][] matrix, int scalar) {
        if (matrix == null || matrix.length != 3 || matrix[0].length != 3 ||
            matrix[1].length != 3 || matrix[2].length != 3) {
            return null;
        }

        int[][] result = new int[3][3];
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                result[i][j] = matrix[i][j] * scalar;
            }
        }
        return result;
    }
}

Nächstes mal kannst du deine Hausaufgaben selber machen.