Testmethoden in BlueJ

Windows10

Bekanntes Mitglied
Ich habe in BlueJ folgende Testmethode erstellt und es hat sich ein Fehler eingeschlichen!! Bitte helft mir beim Fehler suchen!!

Der Code dieser Testmethode:
Java:
 @Test
    public void testMain()
    {
        int[][]input1={{1,2,3},{4,5,6},{7,8,9}};
        int[][]input2={{7,3,6},{5,2,4},{9,1,8}};
        int[][]expected={{8,5,9},{9,7,10},{16,9,17}};
        int[][]actual=Matrix.main(input1+input2);
        assertArrayEquals(expected,actual);
    }
 
Erstell dir ein neues array mit den gleichen dimensionen.
Mit zwei verschachtelten for schleifen kannst du dann über Zeile/Spalte iterieren und den neuen wert berechnen
Java:
//ergebnis array erstellen
//for schleife über die zeilen
  //for schleife über die spalten
    ergebnis[y][x] = input1[y][x] + input2[y][x];
 
Was soll denn Matrix.main machen bzw wie sieht diese aus?
Der Code der Klasse Matrix mit der Main-Methode sieht so aus!!
Java:
public class Matrix
{
    public static int[][] main(int[][]matrix1,int[][]matrix2)
    {
        gebeArrayMatrix1aus(matrix1);
        Out.println();
        gebeArrayMatrix2aus(matrix2);
        Out.println();
        int[][] matrixSumme=ermittleergebnis(matrix1, matrix2);
        return matrixSumme;
    }

    private static void gebeArrayMatrix1aus(int[][]matrix1)
    {
        for(int i=0;i<matrix1.length;i++)
        {
            for(int j=0;j<matrix1[i].length;j++)
            {
                Out.print(matrix1[i][j]);
            }
            Out.println();
        }
    }

    private static void gebeArrayMatrix2aus(int[][]matrix2)
    {
        for(int i=0;i<matrix2.length;i++)
        {
            for(int j=0;j<matrix2[i].length;j++)
            {
                Out.print(matrix2[i][j]);
            }
            Out.println();
        }
    }

    private static int[][] ermittleergebnis(int[][]matrix1, int[][]matrix2)
    {
        gebeArrayMatrix1aus(matrix1);
        gebeArrayMatrix2aus(matrix2);
        int[][]ergebnis=new int[matrix1.length][matrix2.length];
        for(int i=0;i<ergebnis.length;i++)
        {
            for(int j=0;j<ergebnis[i].length;j++)
            {
                Out.print(ergebnis[i][j]=matrix1[i][j]+matrix2[i][j]);
            }
            Out.println();
        }
        return ergebnis;
    }
}
 

Zurück
Oben