循环 if 语句 if

问题描述 投票:0回答:1

我正在尝试用C#编写一个“石头剪刀布游戏”,我想添加一个“选择名字屏幕”。

namespace Program;
public class Program() {
    static void Main(string[] args){
        Console.WriteLine("Wilkommen Benutzer zu Schere, Stein, Papier!");
        Console.WriteLine("Möchtest du einen Namen wählen? (j/n) ");
        string? choice1 = Console.ReadLine();
        if(choice1 == "j"){
            Console.WriteLine("Dann wähle deinen Namen! ");
            string? name = Console.ReadLine();
            Console.WriteLine(name + ", ist das so richtig? (j/n) ");
            string? choiceName = Console.ReadLine();
            if(choiceName == "n"){
                //Repeat "if(choice1 == "j")" here
            }
            else if(choiceName == "j"){
                Console.WriteLine("Wilkommen " + name + "!")
            }
        }
        else if(choice1 == "n"){
            Console.WriteLine("Dann wird dir der Name \"Benutzer\" zugeteilt");
            name = "Benutzer";
        }    
        else {
            Console.WriteLine("Ich nehme das als ein Nein")
            Console.WriteLine("Dann wird dir der Name \"Benutzer\" zugeteilt");
            name = "Benutzer";
        }
    }
}

在第 13 行,我希望它返回或重复第 7 行,直到用户键入“j”。

我的逻辑思考能力不足以使用

while
陈述。我还能做些什么来重复
if
代码吗? 附言。我是 C# 和一般编程的新手。

c# loops while-loop c#-4.0
1个回答
0
投票
string? name, choiceName;

do
{
    Console.WriteLine("Dann wähle deinen Namen! ");
    name = Console.ReadLine();
    Console.WriteLine(name + ", ist das so richtig? (j/n) ");
    choiceName = Console.ReadLine();
}
while(choiceName == "n");

Console.WriteLine("Wilkommen " + name + "!")

您可以使用 do-while 语句,只要 choiceName 为 n,该代码块就会重复。

© www.soinside.com 2019 - 2024. All rights reserved.