Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Prüfen ob ein zweidimensionales Array rechteckig ist
Hallo Leute,
Ich versuche gerade folgende Aufgabenstellung zu lösen und komme nicht weiter:
"Erstellen Sie eine statische Methode isRectangular(), die ein zweidimensionales int-Array entgegennimmt und prüft, ob es rechteckig ist. Geben Sie entsprechend true oder false zurück.
Hinweis: Ein rechteckiges Array (oder eine Matrix) ist ein zweidimensionales Array, bei dem alle seine Zeilen die gleiche Anzahl von Elementen haben.
Beachten Sie, dass ein leeres Array rechteckig ist und ein null-Array nicht rechteckig ist."
Mein Code sieht zurzeit so aus:
Java:
class Exercise {
public static void main(String[] args) {
int[][] array = {{3, 4, 5}, {3, 4, 5}};
if (isRectangular(array)) {
System.out.println("Matrix");
} else {
System.out.println("Two-dimensional array");
}
}
// TODO Define your method here
static boolean isRectangular(int[][] array) {
if (array == null) {
return false;
}
if (array.length == 0) {
return true;
}
for (int reihe = 0; reihe < array.length; reihe++) {
int zaehler = 0;
for (int spalte = 0; spalte < array[reihe].length; spalte++) {
zaehler++;
array[reihe][spalte] = zaehler;
}
}
if ()
return true;
}
}
}
}
Ich versuche gerade herauszufinden wie ich es implementieren könnte, dass die Anzahl der Werte pro Reihe geprüft wird und dann verglichen wird ob die Anzahl der Werte in allen Reihen gleich ist. Habt ihr vielleicht tipps oder Denkanstöße für mich?
Danke schoneinmal für eure Hilfe!
Du musst also überprüfen, ob in allen Zeilen die gleiche Anzahl an Elementen ist.
Wie bekommst Du die Anzahl der Elemente eines Arrays?
Und ganz ohne dieses technische: Wie gehst DU denn vor, wenn Du mehrere Reihen Elemente hast und du schauen sollst, ob alle Reihen gleich viele Elemente haben?
Ich könnte mit einem Zähler und einer for schleife jede einzelne Spalte in jeder Reihe zählen um herauszufinden wie viele Werte das Array insgesamt hat. Aber ich verstehe nicht genau wie mir das hilft.
in meinem Fall wäre array.lenght 2, da das Array zwei Reihen besitzt.
Mit array[reihe].lenght komme ich zur länge der Reihe, was in diesem fall 3 wäre.
Nun muss ich noch überprüfen ob die anderen Reihen die gleiche länge haben wie die erste nicht wahr?
Aber wie genau mache ich das? Etwa so oder so ähnlich:
Du merkst dir die Länge der ersten Reihe.
In einer for-Schleife vergleichst du die Längen der übrigen Reihen mit der Länge der ersten Reihe.
Sobald eine Abweichung auftritt, gibst du false zurück.
Wenn keine Abweichung aufgetreten ist, die for-Schleife also durchgelaufen ist, gibst du true zurück.
In einer for-Schleife vergleichst du die Längen der übrigen Reihen mit der Länge der ersten Reihe.
Sobald eine Abweichung auftritt, gibst du false zurück.