如何在for循环中用ArrayList计数控制循环并优化输入输出
解决方案
需求1:输入有效数字后清屏并打印该数字
在成功解析用户输入的有效数字后,添加清屏和打印操作即可。具体是在将数字加入ArrayList后,执行清屏并输出刚输入的数字,让用户直观看到输入结果。
需求2:用ArrayList的Count控制循环次数
new ArrayList(5)设置的是ArrayList的初始容量,而非固定元素数量,初始状态下numbers.Count为0,所以用i<=numbers.Count的for循环无法达到收集5个元素的目的。正确方式是使用while循环,以numbers.Count < 5作为循环条件,直到ArrayList中元素个数达到5个时停止循环。
修改后的完整代码
using System; using System.Collections; namespace UseAllInArrasys { class Program { public static void Main(string[] args) { int num = 0; // 初始化ArrayList,设置初始容量为5(可选,优化内存分配) ArrayList numbers = new ArrayList(5); while (numbers.Count < 5) { Console.Write("Enter any number: "); while (!int.TryParse(Console.ReadLine(), out num)) { Console.Clear(); Console.WriteLine("Invalid input"); Console.ReadLine(); Console.Clear(); Console.Write("Enter any number: "); } numbers.Add(num); // 清屏并打印刚输入的有效数字 Console.Clear(); Console.WriteLine($"已输入有效数字: {num}"); } // 所有输入完成后,打印全部数字 Console.WriteLine("=========所有输入的数字=========="); foreach (var item in numbers) { Console.WriteLine(item); } } } }
内容的提问来源于stack exchange,提问作者MPC
相关产品推荐
相关产品推荐

