Warum geht meine For schleife nicht?(Java)?

...komplette Frage anzeigen

6 Antworten

Dir fehlt die Iteration. Was soll denn bei Dir herauskommen?

Du startst mit "A" und hast als Bedingung i==A. Das ist erstmal immer erfüllt, d. h. Du hast eine Dauerschleife gebaut. Dir fehlt ja noch etwas was hochzählt als drittes Argument. Und wenn Du das eingebaut hast, macht es immer noch keinen Sinn, weil die Schleife dann nur einmal durchlaufen wird.

Was willst Du denn für einen Effekt haben?

blackoutX2 28.06.2017, 17:23

ich dachte man kann auch nur 2 parameter angeben. ich will, dass auf der Konsole die ganzezeit "Schleife" ausgegeben wird. also eine unendliche Schleife. variable i ist ja A . und wenn eben dieses i mit A identisch ist dann gebe "Schleife" aus. und da "for " ne schleife darstellt verstehe ich nicht warum das nicht funktioniert

0
thomasbuescher 28.06.2017, 17:26
@blackoutX2

Dann nimm als drittes Argument einfach eine sinnlose Anweisung, also z. B.

for(char i = 'A'; i == A;i='A')

Unabhängig davon ist aber die Frage, warum Du i als char und nicht als int definierst. Normalerweise würde man das mit Integer-Werten machen, also

for(int i = 0; i ==0;i=0)
0
blackoutX2 28.06.2017, 17:30

Ja ich dachte man kann in einer FOR Schleife mindestens 2 Parameter angeben... dann dachte ich, dass man mehr als INT benutzen kann

0
thomasbuescher 28.06.2017, 17:31
@blackoutX2

Wenn Du es zum Ausprobieren mit char machen wolltest, ist das auch korrekt, das kannst Du machen. Aber Du brauchst das dritte Argument, sonst ist es keine for-Schleife.

Das, was Du vorhattest würde man eher mit einer While-Schleife machen.

0
blackoutX2 28.06.2017, 17:35

achso, danke :D

1

Wenn du eine Endlosschleife erzeugen willst, ist eine for-Schleife unangebracht. Eine for-Schleife ist generell dazu da, einen Vorgang x-mal auszuführen, wobei man x selber festlegt.

Wenn du einen bedingten Abbruch, oder wie in deinem Beispielm eine Endlosschleife erzeugen willst, dann wäre eine while-Schleife besser. Es wirkt auch vollkommen willkürlich und unprofessionell, wenn du in einer for-Schleife durch die Abfrage eines Chars auf seine Belegung eine Endlosschleife erzeugen willst.

while(true)
{
   System.out.println("Schleife");
}

ist meiner Meinung nach viel sauberer.

Wirkt etwas kompliziert. Funktioniert nicht einfach for(;;) oder while(true)?

Versuch mal ein zweites Semikolon neben dem ersten einzufügen. Außerdem würde ich das zweite A auch in Anführungsstriche setzen.


blackoutX2 28.06.2017, 17:20

da steht not a statement

0

außerdem fehlt eine geschweifte Klammer

Willst du eine Endlosschleife erzeugen?

Also for schleifen sehen im Grunde so aus:

for (Deklaration einer Variable; Bedingung/en; was passieren soll wenn die Schleife durchläuft) {

}

Also z.b.

for (int I = 5; I > -1; I--) {
//was passieren soll
}

Wenn du eine Endlosschleife erzeugen willst ist das eine sehr gute Lösung:

while (true) {
//Dein Code
}

Hier wird geprüft ob richtig, richtig ist und da richtig richtig ist wird das unendlich ausgeführt.

Was möchtest Du wissen?