Hallo,
habe versucht ein Matrix Matrix Multiplikatinsprogramm zu schreiben. Es sieht meiner Meinung nach auch in Ordnung aus.
Es ist aber bei zwei Methodenaufrufen der Fehler missing return statement zu sehen. Mein Problem ist es das Ergebniss der Rechnung zurückzugeben, in die neue Methode einzulesen und auszugeben.
Das ist mein Code bis jetzt. Wäre sehr dankbar für Hilfe.
habe versucht ein Matrix Matrix Multiplikatinsprogramm zu schreiben. Es sieht meiner Meinung nach auch in Ordnung aus.
Es ist aber bei zwei Methodenaufrufen der Fehler missing return statement zu sehen. Mein Problem ist es das Ergebniss der Rechnung zurückzugeben, in die neue Methode einzulesen und auszugeben.
Das ist mein Code bis jetzt. Wäre sehr dankbar für Hilfe.
Java:
import java.util.*;
public class NewClass {
static double[][] matrix;
static double[][] matrix2, matrixmatrix2Produkt;
static int zeilen,spalten;
static int zeilen2,spalten2;
static int neueMatrix;
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
Locale.setDefault(Locale.US);
getDimensions();
getDimensions2();
matrix = matrixEinlesen(zeilen, spalten);
matrix2 = matrix2Einlesen(zeilen2, spalten2);
berechnematrixmatrix2Produkt(matrix,matrix2);
matrixAusgeben();
}
public static void getDimensions() {
System.out.println("Geben Sie die Dimensionen fuer die Matrix ein");
System.out.println("Anzahl der Zeilen:");
zeilen = sc.nextInt();
System.out.println("Anzahl der Spalten:");
spalten = sc.nextInt();
}
public static void getDimensions2() {
System.out.println("Geben Sie die Dimensionen fuer die Matrix2 ein");
System.out.println("Anzahl der Zeilen:");
zeilen2 = sc.nextInt();
System.out.println("Anzahl der Spalten:");
spalten2 = sc.nextInt();
}
public static double[][] matrixEinlesen(int m, int n) {
double[][] matrix;
System.out.println("Geben Sie nun die Werte fuer die Matrix ein");
matrix = new double[m][n];
for(int i=0;i<m;i++) {
for (int y=0;y<n;y++) {
System.out.println("Geben Sie den Wert der Spalte "+(y+1)+" in Zeile "+(i+1)+" ein");
matrix[i][y] = sc.nextDouble();
}
}
System.out.println("Matrix wurde erfolgreich eingegeben");
return matrix;
}
public static double[][] matrix2Einlesen(int m, int n) {
double[][] matrix2;
System.out.println("Geben Sie nun die Werte fuer die Matrix2 ein");
matrix2 = new double[m][n];
for(int i=0;i<m;i++) {
for (int y=0;y<n;y++) {
System.out.println("Bitte geben Sie den Wert der Spalte "+(y+1)+" in Zeile "+(i+1)+" ein");
matrix2[i][y] = sc.nextDouble();
}
}
System.out.println("Matrix wurde erfolgreich eingegeben");
return matrix2;
}
public static double[][] berechnematrixmatrix2Produkt(double[][] matrix, double[][] matrix2) {
double[][] neuematrix;
double Summe; //zwischenwert, der fuer das Berechnen der Summe benoetigt wird
neuematrix = new double[zeilen][spalten];
for(int i=0;i<matrix.length;i++) {
Summe=0;
for (int j=0;j<matrix2[0].length;j++) {
for (int k= 0; k< matrix[0].length;k++){
Summe += matrix[i][k]*matrix2[k][j];
}
neuematrix[i][j] = Summe;
}
return neuematrix;
}
public static double[][] matrixAusgeben(double berechnematrixmatrix2Produkt[][]){
int[][] neuematrix = {{1,2,3},{4,5,6},{7,8,9}};
for (int i = 0;i < matrix.length;i++) {
for (int j = 0;j < matrix[i].length;j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println(neueMatrix);
}}}
Zuletzt bearbeitet: