Zweidimensionales Array Elemente jeder Spalte zählen

Buttahbrot

Mitglied
Hey, ich habe folgendes Problem:

Ich soll die Anzahl der Elemente jeder Spalte zählen, z.B. hat Spalte 1 = 13 Elemente, Spalte 2 = 11 Elemente usw usw.

Nun bin ich aber etwas überfordert und weiß nicht genau wie ich mich da jetzt ranmachen soll, wäre dankbar wenn mir jemand helfen könnte.

MfG Buttahbrot
 
Mein Array würde folgendermaßen aussehen:

5 2 3 6 6 7 2 1 2 4 8 9 3
3 8 6 3 5 4 1 8 2 8 8
1 2 2 7 4 1
8 2
1


Jetzt will ich zählen wie viele Elemente jede Spalte hat, also die erste hat in dem Beispiel 5, die zweite 4, die dritte 3 usw.
 
Zuletzt bearbeitet:
Da muss er nichts addieren. Er will ja die Länge der Arrays wissen.
Also mit einer for-schleife rüber und jedesmal die length() Methode aufrufen.
 
Da muss er nichts addieren. Er will ja die Länge der Arrays wissen.
Also mit einer for-schleife rüber und jedesmal die length() Methode aufrufen.

Hallo.

Nicht addieren ist klar.. aber denke mit ner for-Schleife wird spätestens in der Spalte 2 ArrayIndexOutOfBoundsException kommen oder wie stellst du dir das vor?

Auch die lenght()-Methode funktioniert in diesem int[][] Array nicht, oder habe ich nen Denkfehler??
 
NUn ich gehe hier natürlich davon aus, dass die jewieligen Arrays nur so lang sind, wie auch Zahlen vorhanden sind.

Java:
for (int[] array : my2DArray)
  System.out.println(array.length());
Damit sollte er ohne Probleme jede Länge der Arrays kriegen.
 
Mein Array würde folgendermaßen aussehen:

5 2 3 6 6 7 2 1 2 4 8 9 3
3 8 6 3 5 4 1 8 2 8 8
1 2 2 7 4 1
8 2
1


Jetzt will ich zählen wie viele Elemente jede Spalte hat, also die erste hat in dem Beispiel 5, die zweite 4, die dritte 3 usw.

NUn ich gehe hier natürlich davon aus, dass die jewieligen Arrays nur so lang sind, wie auch Zahlen vorhanden sind.

So wie du es schreibst, bekommt er aber nur die Anzahl der Zeichen in der jeweiligen Reihe.. in seinem Fall also 5 2 3 6 6 7 2 1 2 4 8 9 3 gleich 13. Aber er will ja die Anzahl in den Spalten.. also

5
3
1
8
1

gleich 5.

Könnte mir es in etwa so vorstellen.. wobei test hier ein char[][] Array ist und es funktioniert auch nur wenn Anzahl der Zeilen und Spalten gleich sind.. wenn zB
1 2 3 4
5 6 7
8 9
0
im Array stehen würde, kommt in der 2. Reihe an der Position [0][4] ein ArrayIndexOutOfBoundsException
Java:
int counter = 0;
int max = maxLaenge(test);
for (int n = 0; n < max; ++n) {
    counter = 0;
    for ( int k = 0; k < test.length; k++) {    
        if ( Character.isLetterOrDigit( test[k][n] ) ) {   
            System.out.println(test[k][n] + " K = " +k+ " n= " +n);
            counter++;
        } else break;
}System.out.print(counter); 

static int maxLaenge (char[][] input) {
    int max=0;
    int zeilen = input.length;
    for (int i = 0; i < zeilen; i++) {       
       int len = input[i].length;
       if (max < len)
          max = len;
     }return max;
   }
}
 

Zurück
Oben