Wie überprüfen Sie das Ende des Arrays
Ich habe ein array vom Typ int
matrix[][]
und es hat nur die Werte 0 und 1
000000000
101010111
000010100
110011001
unterscheiden sich die Werte auf die oben genannten, aber das ist ein willkürliches Beispiel.
Was ich tun müssen, ist,
Schleife durch die erste Zeile bei Spalte = 0 und Zeile = 0 hinzufügen von 1 zu Zeile loop
wenn eine gefunden wird, fügen Sie es einer Variablen
wenn ich an das Ende der Zeile muss ich dann die Spalte 0 Zeile = 0 hinzufügen von 1 auf Spalte, um die Schleife
dann muss ich zum überprüfen der variable Summe, die ich gewesen das hinzufügen zu % 2 = 0
dann muss ich überprüfen Sie Zeile 1 Spalte 1
und wiederholen Sie den Vorgang für alle
das problerm ich habe, ist die Bestimmung, wenn ich habe, um das Ende einer Zeile, wie wird dieser berechnet?
for(int row = 0; row < matrix.length; row++){
if(matrix[columns][row] == 1){
sum ++;
if(i am at the end of the row){
//continue with other steps here
Du musst angemeldet sein, um einen Kommentar abzugeben.
Also für jede Zeile (erste Zeile), Sie Durchlaufen die Spalten in jeder Zeile (der zweiten Zeile). Dies umfasst alle Elemente im 2d-array. Sie wissen, Sie haben erreicht das Ende der Zeile, da Sie schon von Spalten (und verlassen der inneren Schleife).
Nicht wirklich eine genaue Antwort auf deine Frage, aber ein Schritt zurück (ohne zu wissen, den Kontext, um Ihren code) es scheint mir, die Sie möglicherweise verwenden möchten, ein BitSet anstatt ein array mit 0 und 1 ist. Es benötigt weniger Speicher und hat eine Reihe von praktischen Methoden (das sind in der Regel auch schneller als code, den Sie selbst schreiben). Zählen der Anzahl von bits, die Sie scheinen zu tun ist, ist zum Beispiel BitSet.Kardinalität().