Hallo! Ich habe eine Frage, und zwar geht es um folgendes:
Ich habe eine Methode crossOut(int matrix [][], int z, int s)
Diese streicht aus einem 2D Array die Zeile z und die Spalte s
Warum funktioniert meine Methode nur, wenn ich a und b innerhalb der for-Schleifen
initialisiere?
FUNKTIONIERT:
FUNKTIONIERT NICHT:
Ich frage rein interessehalber, wär cool wenn mir da jemand helfen könnte!
MFG
Ich habe eine Methode crossOut(int matrix [][], int z, int s)
Diese streicht aus einem 2D Array die Zeile z und die Spalte s
Warum funktioniert meine Methode nur, wenn ich a und b innerhalb der for-Schleifen
initialisiere?
FUNKTIONIERT:
Code:
public class CrossOut {
public static int[][] crossOut(int matrix[][], int z, int s) {
int[][] crossed = new int[matrix.length - 1][matrix[0].length - 1];
for (int i = 0, a = 0; i <= matrix.length - 1; i++) {
if (i != z) {
for (int j = 0, b = 0; j <= matrix.length - 1; j++) {
if (j != s) {
crossed[a][b] = matrix[i][j];
b++;
} else
continue;
}
a++;
} else
continue;
}
return crossed;
}
public static void print(int a[][]) {
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[0].length; j++) {
Out.print(a[i][j]);
}
Out.println();
}
}
public static void main(String[] args) {
int[][] matrix = new int[][] { { 1, 2, 3, 4 }, { 5, 6, 7, 8 },
{ 9, 10, 11, 12 }, { 13, 14, 15, 16 } };
print(crossOut(matrix, 2, 2));
}
}
FUNKTIONIERT NICHT:
Code:
public class CrossOut {
public static int[][]crossOut(int matrix[][], int z, int s){
int a=0;
int b=0;
int [][] crossed = new int[matrix.length-1][matrix[0].length-1];
for(int i=0;i<=matrix.length-1;i++){
if(i!=z){
for(int j=0;j<=matrix.length-1;j++){
if(j!=s){
crossed[a][b]=matrix[i][j];
b++;
}else continue;
}
a++;
}else continue;
}return crossed;
}
public static void print(int a[][]){
for(int i=0; i<a.length;i++){
for(int j=0;j<a[0].length;j++){
Out.print(a[i][j]);
}Out.println();
}
}
public static void main(String[]args){
int[][] matrix = new int[][]{
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16}
};
print(crossOut(matrix,2,2));
}
}
Ich frage rein interessehalber, wär cool wenn mir da jemand helfen könnte!
MFG