数组:部分填充

Posted

技术标签:

【中文标题】数组:部分填充【英文标题】:Array: partial filling 【发布时间】:2021-12-16 01:23:31 【问题描述】:

对于学校作业,我需要编写一个程序,其中用户键入两个整数(表示索引),然后一个方法在这两个数字之间生成随机数。例如:如果用户键入 3 和 8 并且数组长度为 15,那么一个方法将在数组中的索引 3 和索引 8 之间生成随机数。我正在尝试这样的事情,但它不起作用:

        int[] arry = new int[15];

        int b = int.Parse(Console.ReadLine());
        int a = int.Parse(Console.ReadLine());

        Filling(a, b, arry);

        static void Filling(int a, int b, int[] arry)
        
            Random rnd = new Random();

            for (int i = arry[a]; i < arry[b]; i++)
            
                arry[i] = rnd.Next(3, 31);
                Console.WriteLine(arry[i]);
            
        

【问题讨论】:

for (int i = arry[a]; i &lt; arry[b]; i++) -- 你可能希望ia 循环到b,即for (int i = a; i &lt; b; i++)。由于arry 开始时包含全零,arry[a]arry[b] 都将返回 0 旁注:How to debug small programs 相信我,值得花每一秒阅读和理解 Visual Studio 背后的大师所说的话 【参考方案1】:

如 cmets 中所述,您希望循环在 ab 之间进行迭代。不在存储在数组中的 a 和 b 的值之间。即

        for (int i = a; i < b; i++)
        
            arry[i] = rnd.Next(3, 31);
            Console.WriteLine(arry[i]);
        

您可能还想添加一些边界检查以确保 a 和 b 有效。这可以通过在进入循环之前夹紧索引值来完成。

        a = Math.Max(a, 0);
        b = Math.Min(b, arry.Count);

【讨论】:

以上是关于数组:部分填充的主要内容,如果未能解决你的问题,请参考以下文章

iPhone UITableView 从平面数组填充可变行部分

在 Swift 中的数组中使用多个部分和多个字典填充 TableView

如何用另一个蒙版数组的值填充蒙版2D数组?

如何使用 SQL 表作为源填充 BIML 中的数组

将 NSMutableArrays 填充到自定义部分

专门更改填充了数组元素的表格视图中的一个单元格