2 回答
TA贡献1886条经验 获得超2个赞
有两件事可以解决你的困难。
首先,输入提示应该位于循环中,以便它可以显示每个循环何时开始。
其次,do while
循环决定循环是否应该在设计的最后继续;这取决于应直接用作 while 条件的用户输入。
因此,您的代码可以简化为
public static void Main()
{
List<string> names = new List<string>() { "Vasti", "Cameron", "Ezra", "Tilly" };
string userChoice = "";
do
{
Console.WriteLine($@"Welcome to the names lost!{Environment.NewLine} If you wish to add a name to the list, type 1.{Environment.NewLine} If you want to see current names in the list, type 2.");
userChoice = Console.ReadLine();
switch (userChoice)
{
case "1":
Console.WriteLine("Add a name to the squad.");
string userAddName = Console.ReadLine();
names.Add(userAddName);
break;
case "2":
Console.WriteLine("Here's the list:");
foreach (string name in names)
{
Console.WriteLine(name);
}
break;
default:
Console.WriteLine("Please type either 1 or 2 to select an option.");
break;
}
Console.WriteLine(@"Wanna do that again? Type yes or no.");
userChoice = Console.ReadLine();
}
while (userChoice.Equals("yes", StringComparison.OrdinalIgnoreCase));
Console.WriteLine("Program finished");
Console.ReadLine();
}
TA贡献1824条经验 获得超5个赞
将 do{}while() 循环更改为常规 while(){} 循环。Move string userChoice = Cosole.ReadLine(); 在顶部 while 循环内部,否则您将永远不会要求其他选项。。。还要在开头设置 ((bool program=true; 和 bool program=true;))。Do{}while() 循环首先执行 {} 内的所有操作,然后检查 while 语句是否仍然为 true。
- 2 回答
- 0 关注
- 114 浏览
添加回答
举报