我正在编写一种方法来获取具有三个选项的菜单的用户输入:1、2、3。我的 do while 循环运行,但是我的 while 逻辑仍在接受不需要的输入。为什么我的代码没有在我设定的值范围之外循环输入?我尝试了不同的逻辑运算符,删除逻辑运算符并在 Option < Value 时进行设置。private static MenuOption ReadUserOption(){ int Option; Console.WriteLine("Please make a selection"); Console.WriteLine("1, will run TestName, 2 will run Guess that number, 3 Wil quit the program."); do { Option = Convert.ToInt32(Console.ReadLine()); return (MenuOption)(Option - 1); } while (Option < 1 || Option > 3);}我的目标是让 <1 和 >3 之外的任何用户输入让循环继续,直到输入该范围内的值。在当前状态下,如果我输入 0,循环将接受该值并输出 -1。
1 回答
HUH函数
TA贡献1836条经验 获得超4个赞
您只需要将 return 语句移到循环之外
private static MenuOption ReadUserOption()
{
int Option;
Console.WriteLine("Please make a selection");
Console.WriteLine("1, will run TestName, 2 will run Guess that number, 3 Wil quit the program.");
do
{
Option = Convert.ToInt32(Console.ReadLine());
} while (Option < 1 || Option > 3);
return (MenuOption)(Option - 1);
}
- 1 回答
- 0 关注
- 126 浏览
添加回答
举报
0/150
提交
取消
