# Anzahl Zeilen eines Arrays bestimmen



## AnonymXX (21. Mai 2010)

Hallo,

ich schreibe ein Programm in JavaME und muss über die Anzahl der Zeilen eines Arrays iterieren (die erste Spalte jeder Zeile einlesen). 
Ich bin in Java allerdings Anfänger und komme daher einfach nicht drauf, wie ich die Spaltenanzahl rauskriegen kann 

Kann mir jemand weiterhelfen?

Danke und lg

AnonymXX


----------



## Cola_Colin (21. Mai 2010)

Spalten und Zeilen ?
Also ein 2D Array ?
Die Spaltenanzahl kann man dann mit length bestimmen.
Sowas eventuell:

```
public static void main(String[] args) {
        // Array sieht so aus:
        // Feld 1 | Feld 2
        // Feld 3 | Feld 4
        String[][] array = new String[2][2];
        array[0][0] = "Feld1";
        array[0][1] = "Feld2";
        array[1][0] = "Feld3";
        array[1][1] = "Feld4";
        for (int i = 0; i < array.length; i++) {
            System.out.println(array[i][0]);
        }
        // Ausgabe:
        // Feld1
        // Feld3
    }
}
```

Allg. Infos:
Java: Two-dimensional arrays as arrays of arrays


----------



## AnonymXX (21. Mai 2010)

Hallo Cola_Colin,

ich brauche nur die Anzahl der Zeilen. So, wie du es geschrieben hast, habe ich es schon versucht. Das führt nicht zu dem gewünschten Ergebnis. 
Ich muss in einer Schleife jeweils die erste Spalte jeder Zeile auslesen können. Da aber das Array unterschiedlich groß sein kann, d.h. unterschiedlich viele Zeilen enthält, muss ich diese Anzahl direkt in der Schleife bzw. davor rausfinden können.

Lg

AnonymXX


----------



## nrg (21. Mai 2010)

array_.length?

edit:http://www.java-forum.org/java-basics-anfaenger-themen/100574-problem-beim-splitten-strings.html

hast du dir meinen code da auch angeschaut??? frag mich ernsthaft, für was ich mir die mühe geb_


----------



## Cola_Colin (21. Mai 2010)

Ich kapier das Problem nicht, die erste Zeile wäre doch immer bei array_[0] ?_


----------



## nrg (21. Mai 2010)

ja ich kapiers auch nicht ganz. hab ihm aber im anderen thread ein beispiel mit jeder iteration geschrieben. frag mich halt, für was...


----------



## AnonymXX (22. Mai 2010)

Hallo,

sorry, ich glaube, ich habe mich falsch ausgedrückt. Mit ".length" bekomme ich doch die Länge der jeweiligen Zeile und nicht die Anzahl der Elemente, oder? Zumindest habe ich das über Debugging so rausbekommen.
@nrg: das ist ein anderes Problem, als das, was ich in dem anderen Thread beschrieben habe. Jetzt muss ich die Elemente wieder aus dem Array auslesen und in einer Schleife einer ChoiceGroup mitgeben.

Ich habe ja schon eine Schleife geschrieben. Diese funktioniert aber nur, wenn das Array 3 oder mehr Zeilen hat. Ich finde einfach das Problem nicht.


```
int i = 0;
                               
                while ( i< (string[i][1].length()-1))
                {
                    int k = string[i].length;
                    cg3.append(string[i+1][1], null);
                    i++;
                   
                }
```

LG

AnonymXX


----------



## Verjigorm (22. Mai 2010)

string_[1] ist ein String, wenn du da .length() drauf anwendest, kriegst du die Zeichenanzahl des Strings, das willst du sicher nicht oder?

Schau dir mal das Beispiel von Cola_Colin oben an und versuche zu verstehen, was

string[1], also string[0][1] und string[1][1] bedeutet_


----------



## AnonymXX (22. Mai 2010)

Ich hab schon verstanden, was _[1] bedeutet: die erste Spalte jeder Zeile des Arrays...

Ja, es stimmt, ich brauch nicht die Länge der Zeilen, sondern nur deren Anzahl, damit ich weiß, wie lange mein Array laufen muss. Für Werte ab [3][1] geht es ja, aber wenn das Array kleiner ist, wird mir nichts angezeigt 

Lg

AnonymXX_


----------



## Verjigorm (22. Mai 2010)

es gibt nur 2 "Längen" im Array, Zeilenanzahl und Spaltenanzahl


```
String[][] array = new String[3][2];
        array[0][0] = "Feld1";
        array[0][1] = "Feld2";
        array[1][0] = "Feld3";
        array[1][1] = "Feld4";
        array[2][0] = "Feld5";
        array[2][1] = "Feld6";
        
        System.out.println(array.length + " Zeilen und " + array[0].length + " Spalten");
        
        for(int i = 0; i < array.length; i++)
        {
        	System.out.println(array[i].length);
        	
            for(int j = 0; j < array[i].length; j++)
            {
            	System.out.println(array[i][j]);
                // array[i][j].lenght wäre hierbei die Länge des beinhaltenden Strings
            }
        }
```


----------



## nrg (22. Mai 2010)

AnonymXX hat gesagt.:


> @nrg: das ist ein anderes Problem, als das, was ich in dem anderen Thread beschrieben habe. Jetzt muss ich die Elemente wieder aus dem Array auslesen und in einer Schleife einer ChoiceGroup mitgeben.



achso ein anderes problem also.. und was habe ich in dem beispielcode hier gemacht?


```
// Testausgabe
        for ( int i = 0; i < tokens.length; i++ ) {
            for ( int j = 0; j < tokens[i].length; j++ )
                System.out.print( tokens[i][j] + "\t" );
            System.out.print( "\n" );
        }
```

fällt mir ehrlich gesagt nichts mehr dazu ein..

lenght von arrays ist ein *finales attribut* und keine methode. das gibt die anzahl der tokens zurück. das length was du meinst, ist eine *methode* von der klasse string und gibt die anzahl der zeichen zurück.


----------

