Argumente mit verschiedenen Schleifen ausgeben

Bitte aktiviere JavaScript!
Hallo Leute,
zur Übung möchte ich
ein einfaches Java-Programm erstellen, das alle beim Programmaufruf
mitgegebenen Argumente auf der Standardausgabe jeweils in einer eigenen
Zeile ausgibt. Dabei will ich alle mir bekannten Schleifenarten benutzen.
Ich bin gerade soweit:
Java:
public class Schleifen {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        int k = 0;
        int l = 0;
       
        do {
            System.out.println("Argumente" + args[k]);
            k++;
        } while (k < args.length-1);

        while (l < args.length) {
            System.out.println("Argumente" + args[l]);
            l++;
        }
        for (int i = 0; i < args.length; i++) {
            System.out.println("Argumente" + args[i]);

        }
        for (String j : args) {
            System.out.println("Argumente" + j);

        }
    }

}
Das Problem ist, das ich wieder ArrayIndexOutOfBoundsException in der do -Zeile bekomme.
Ich weiss, dass ich bei der do-while-Schleife nur bis args.length-1 iterieren muss, weil die Anweisung mindestens schon einmal ausgeführt werden muss.
Es heisst: Thrown to indicate that an array has been accessed with an illegal index. The index is either negative or greater than or equal to the size of the array.
Es kann hier nur sein, dass der Index größer, als das array wird, aber ich lasse k<args.length-1.
 
A

Anzeige


Vielleicht hilft dir dieser Kurs hier weiter: (hier klicken)
Du musst auch bei der do-while Schleife bist k < args.length laufen, sonst schneidest du das letze Element ab. k ist jeweils der Index, der abgefragt wird, und args.length-1 ist der letzte Index.

Für args.length > 0 laufen alle Schleifen Problemlos durch, nur bei einem leeren Array wirft die erste einen Fehler - da du die Bedingung erst nach dem Abfragen prüfen kannst. ;)
 
Hallo mrBrown,
Ach vielen Dank, jetzt seh ichs, wirklich sehr gut. Nun kommt beim Ausführen(run) einfach nichts, was zu erwarten ist, nicht wahr?
Ich hab nun
Java:
public class Schleifen {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        int k = 0;
        int l = 0;
        if (args.length != 0) {
        do {
            System.out.println("Argumente" + args[k]);
            k++;
        } while (k < args.length);
        }
        while (l < args.length) {
            System.out.println("Argumente" + args[l]);
            l++;
        }
        for (int i = 0; i < args.length; i++) {
            System.out.println("Argumente" + args[i]);

        }
        for (String j : args) {
            System.out.println("Argumente" + j);

        }
    }

}
Grüße Scratchy
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben