C#新手求助:用数组实现用户输入1-25的5个数字并限制范围
解决C#数组输入范围限制的问题
嘿,作为C#新手能想到用数组完成作业已经很棒啦!先提个小细节:你现在定义的数组长度是4,但作业要求输入5个数字,得先把数组定义改成int[] usernum = new int[5];哦。
接下来要实现1-25的范围校验,我们可以用do-while循环来确保用户输入符合要求——只要输入的数值不在1到25之间,就一直提示用户重新输入。另外,为了避免用户输入非数字导致程序崩溃,还可以加上int.TryParse做输入合法性检查,这会让你的代码更健壮。
完整代码如下:
int[] usernum = new int[5]; // 修正数组长度为5,满足输入5个数字的需求 for (int i = 0; i < usernum.Length; i++) { int inputNum; bool isValidInput; do { Console.WriteLine($"请输入第{i+1}个1-25之间的数字:"); // 同时完成数字转换和范围校验 isValidInput = int.TryParse(Console.ReadLine(), out inputNum) && inputNum >= 1 && inputNum <= 25; if (!isValidInput) { Console.WriteLine("输入无效!请输入1到25之间的整数。"); } } while (!isValidInput); // 不符合要求就重复提示输入 usernum[i] = inputNum; } // 可选:输出验证用户输入的结果 Console.WriteLine("你输入的有效数字为:"); foreach (int num in usernum) { Console.Write(num + " "); }
代码关键点解释:
- 数组长度修正:把数组长度从4调整为5,匹配作业要求的5个输入数字。
int.TryParse的使用:比Convert.ToInt32更安全,它会返回布尔值表示转换是否成功,避免用户输入字母/符号时程序直接崩溃。do-while循环:先执行一次输入操作,再判断是否符合要求,确保用户必须输入合法数值后才会进入下一个循环。- 范围校验逻辑:通过
inputNum >= 1 && inputNum <= 25严格限制输入数值的范围,完全满足作业要求。
这样你的代码就完全符合老师的要求啦,既用了数组,又实现了输入范围限制,还能处理非法输入的情况~
内容的提问来源于stack exchange,提问作者Gleam
相关产品推荐
相关产品推荐

