C# Versuch zwei?

1 Antwort

Guten Morgen DANIELdjldqwj,

bitte beachte, dass es hier eine Codeformatierung gibt. Er ist sonst ziemlich schwer lesbar.

antwortOk = antwort.ToLower() == "ja" || antwort.ToLower() == "nein";
if (!antwortOk)

          {                                                    //Nur Frage, ob man ihn nochmal starten soll

            Console.WriteLine("Bitte geben Sie Ja oder Nein ein");

          }

Du hast in diesem Teil den Grundstein schon gelegt. Nun fängst Du die nächste Antwort auch wieder so ab;

antwort = Console.ReadLine().ToLower();
if (antwort == "ja")
{
  //Drehen
}
else if (antwort == "nein")
{
  //Schritt machen
}

Du kannst also entsprechende Antworten auftrennen in andere Codeblöcke.

Beantwortet das Deine Frage?

VG


DANIELdjldqwj 
Fragesteller
 30.05.2023, 08:49

Ah okay, Jup das tut es, danke :)

1
Dultus, UserMod Light   30.05.2023, 08:49
@DANIELdjldqwj

Habe nochmal den zweiten Block korrigiert. ToLower() musst du nur einmal auf das ReadLine() ausüben. Das zwei mal zu tun wäre nicht sinnig. :-)

0
DANIELdjldqwj 
Fragesteller
 30.05.2023, 08:52

Könnte man es eigentlich auch mit nem Switch Case machen (Kenne mich bei dem Switch Zeug noch nicht so aus, hoffe du weißt, was ich meine)

0
Dultus, UserMod Light   30.05.2023, 08:56
@DANIELdjldqwj

Ja, könntest du auch;

antwort = Console.ReadLine().ToLower();
switch(antwort)
{
  case "ja":
    // Drehen
    break;
  case "nein":
    // Schritt machen
    break;
}

Tut im Grunde dasselbe und im Hintergrund nichts anderes. Ist in dem Falle also nicht zu relevant.

0
DANIELdjldqwj 
Fragesteller
 30.05.2023, 08:59
@Dultus, UserMod Light

Wenn man jetzt aber nicht ja oder nein eingeben würde, was würde dann passieren, weil das würe mir auch noch wichtig, dass wenn man kein ja oder nein angibt, dass die Schleife von vorne startet und ein Text kommt, wo man darauf hingewiesen wird.

0
Dultus, UserMod Light   30.05.2023, 09:08
@DANIELdjldqwj

In dem Falle würde nichts von beidem kommen. Du kannst aber beides um einen Alternativfall erweitern.

if()
else if ()
else
{
}

// Oder

switch()
{
  case a:
    break;
  default:
    break;
}

Das else benötigt wie das Default auch keinen Wert, da damit alle anderen Fälle gemeint sind. Dort kannst Du sowas angeben wie "Die Eingabe ist nicht korrekt" und die Schleife wird danach wie gewohnt wiederholt.

VG

0