Anzahl Zeilen eines Arrays bestimmen

AnonymXX

Mitglied
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
 
Spalten und Zeilen ?
Also ein 2D Array ?
Die Spaltenanzahl kann man dann mit length bestimmen.
Sowas eventuell:
Java:
    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
 
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
 
ja ich kapiers auch nicht ganz. hab ihm aber im anderen thread ein beispiel mit jeder iteration geschrieben. frag mich halt, für was...
 
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.

Java:
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
 
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
 
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
 
es gibt nur 2 "Längen" im Array, Zeilenanzahl und Spaltenanzahl

Java:
         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: 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?

Java:
        // 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.
 

Zurück
Oben