数组中的随机数由最后一个随机数填充
本文关键字:随机数 最后一个 填充 数组 | 更新日期: 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++)