如何让 C# 中的程序对用户输入做出反应
How to get the program in C# to react to user input
下面是我的代码。当我按 5 时,我必须按 5 次回车才能让程序写入该行,而按 6 根本不起作用。任何解决方案将不胜感激。
Boolean keepRunning = true;
while (keepRunning = true)
{
if (Console.ReadLine() == "1")
{
Console.WriteLine("Still running");
}
else if (Console.ReadLine() == "2")
{
Console.WriteLine("Still running2");
}
else if (Console.ReadLine() == "3")
{
Console.WriteLine("Still running3");
}
else if (Console.ReadLine() == "4")
{
Console.WriteLine("Still running4");
}
else if (Console.ReadLine() == "5")
{
Console.WriteLine("Still running5");
}
else if (Console.ReadLine() == "6")
{
keepRunning = false;
}
}
您正在等待每个 Console.ReadLine();
的输入。只读一次输入,然后决定要做什么。
并且您应该将 while 条件更改为 keepRunning == true
。在您当前的版本中,您根据自己的情况将 keepRunning
设置为 true
,这就是为什么“6”似乎不起作用的原因;)
Boolean keepRunning = true;
while (keepRunning == true)
{
string input = Console.ReadLine();
if (input == "1")
{
Console.WriteLine("Still running");
}
else if (input == "2")
{
Console.WriteLine("Still running2");
}
else if (input == "3")
{
Console.WriteLine("Still running3");
}
else if (input == "4")
{
Console.WriteLine("Still running4");
}
else if (input == "5")
{
Console.WriteLine("Still running5");
}
else if (input == "6")
{
keepRunning = false;
}
}
您可以使用 switch 语句使其变得更好。
switch(input)
{
case "1":
Console.WriteLine("Still running");
break;
case "2":
Console.WriteLine("Still running");
break;
case "3":
Console.WriteLine("Still running");
break;
case "4":
Console.WriteLine("Still running");
break;
case "5":
Console.WriteLine("Still running");
break;
case "6":
keepRunning = false;
break;
default:
break;
}
你应该每次迭代只读一行。请参见下面的示例:
string readLine = "";
Boolean keepRunning = true;
while (keepRunning)
{
readLine= Console.ReadLine();
switch readLine{
case "1":
Console.WriteLine("Still running");
break;
case "2":
Console.WriteLine("Still running2");
break;
case "3":
Console.WriteLine("Still running3");
break;
case "4":
Console.WriteLine("Still running4");
break;
case "5":
Console.WriteLine("Still running5");
break;
case "6":
keepRunning = false;
break;
}
}
下面是我的代码。当我按 5 时,我必须按 5 次回车才能让程序写入该行,而按 6 根本不起作用。任何解决方案将不胜感激。
Boolean keepRunning = true;
while (keepRunning = true)
{
if (Console.ReadLine() == "1")
{
Console.WriteLine("Still running");
}
else if (Console.ReadLine() == "2")
{
Console.WriteLine("Still running2");
}
else if (Console.ReadLine() == "3")
{
Console.WriteLine("Still running3");
}
else if (Console.ReadLine() == "4")
{
Console.WriteLine("Still running4");
}
else if (Console.ReadLine() == "5")
{
Console.WriteLine("Still running5");
}
else if (Console.ReadLine() == "6")
{
keepRunning = false;
}
}
您正在等待每个 Console.ReadLine();
的输入。只读一次输入,然后决定要做什么。
并且您应该将 while 条件更改为 keepRunning == true
。在您当前的版本中,您根据自己的情况将 keepRunning
设置为 true
,这就是为什么“6”似乎不起作用的原因;)
Boolean keepRunning = true;
while (keepRunning == true)
{
string input = Console.ReadLine();
if (input == "1")
{
Console.WriteLine("Still running");
}
else if (input == "2")
{
Console.WriteLine("Still running2");
}
else if (input == "3")
{
Console.WriteLine("Still running3");
}
else if (input == "4")
{
Console.WriteLine("Still running4");
}
else if (input == "5")
{
Console.WriteLine("Still running5");
}
else if (input == "6")
{
keepRunning = false;
}
}
您可以使用 switch 语句使其变得更好。
switch(input)
{
case "1":
Console.WriteLine("Still running");
break;
case "2":
Console.WriteLine("Still running");
break;
case "3":
Console.WriteLine("Still running");
break;
case "4":
Console.WriteLine("Still running");
break;
case "5":
Console.WriteLine("Still running");
break;
case "6":
keepRunning = false;
break;
default:
break;
}
你应该每次迭代只读一行。请参见下面的示例:
string readLine = "";
Boolean keepRunning = true;
while (keepRunning)
{
readLine= Console.ReadLine();
switch readLine{
case "1":
Console.WriteLine("Still running");
break;
case "2":
Console.WriteLine("Still running2");
break;
case "3":
Console.WriteLine("Still running3");
break;
case "4":
Console.WriteLine("Still running4");
break;
case "5":
Console.WriteLine("Still running5");
break;
case "6":
keepRunning = false;
break;
}
}