数组中的随机数由最后一个随机数填充

本文关键字:随机数 最后一个 填充 数组 | 更新日期: 2023-09-27 18:12:06

我创建了一个程序,在这个程序中,用户可以选择有多少个数字有数组,这个数组应该是随机值。好吧,它没有。为了检查每次尝试后签署数字到每个数组参数,我使控制台。Writeline显示随机分配的数字。最后,整个数组被最后一个随机的

填充
static void Main(string[] args)
{
    Console.WriteLine("Set the number of arguments in mineArray:");
    string argumentsNumber = Console.ReadLine();
    int argumentsNumberInt = Convert.ToInt32(argumentsNumber);
    int[] mineArray = new int[argumentsNumberInt];
    Random rand = new Random();
    //set up values to each index of array
    foreach (int i in mineArray)
    {
        mineArray[] = rand.Next(1, 10);
        Console.WriteLine(i + " " + mineArray[i]);
    }
    string a = "asd";
    foreach (int k in mineArray)
    {
        if (mineArray[k] % 3 == 0 || mineArray[k] % 5 == 0)
        {
            if (mineArray[k] % 3 == 0 && mineArray[k] % 5 == 0)
            {
                a = "Able to divide by 3 and 5";
            }
            else
            {
                if (mineArray[k] % 3 == 0) { a = "Able to divide only by 3"; }
                if (mineArray[k] % 5 == 0) { a = "Able to divide only by 5"; }
            }
        }
        else
        {
            a = "Number unable to divide";
        }
        Console.WriteLine(mineArray[k] + " " + a);
    }

数组中的随机数由最后一个随机数填充

我假设你做mineArray[i] = rand.Next(1, 10);,否则这将无法编译(你的代码缺少i)。

问题出在你的foreach循环:

int[] mineArray = new int[argumentsNumberInt];
Random rand = new Random();
//set up values to each index of array
foreach (int i in mineArray)

这个foreach将运行一个充满0的数组,每次将随机变量分配给mineArray [0]

使用for:

for (int i = 0; i < argumentsNumberInt; i++)