myList.Count < 100是正确的 while (myList.Count < 100) 这个循环是从myList.Count =0开始的,当myList.Count =100时停止,也就是0-99循环了100次,不知道你看明白没 没明白就多问哈
小于100只会加到99,如果要把100也加上,可以<=,也可以<101
不对!这个不一定能得到100个数,如果获取随机数的过程中出现了重复的话, myList.Add(num);
就不会执行,到最后当然不会有100个数。
这样的话,后面的for循环里面就会索引越界。
int[] intArr = new int[100];
ArrayList myList = new ArrayList();
Random rnd = new Random();
while (myList.Count < 100)
{
int num = rnd.Next(1, 101);
if (!myList.Contains(num))
myList.Add(num);
}
for (int i = 0; i <100; i++)
{
intArr[i] = (int)myList[i];
Console.Write(" ", intArr[i]);
Console.WriteLine();
}
static void Main(string[] args)
{
int[] num=new int[10];
for(int i=0;i<10;i++)
{
num[i]=product_data();
for(int j=0;j {
if(num[j]==num[i])
{
i--;
break;
}
}
}
for(int j=0;j<10;j++)
{
Console.Write(num[j].ToString ()+"\t");
}
}
static int product_data()
{
Random rnd = new Random();
//在这下面加个数值循环100次就可以了!
int result = (int)(rnd.NextDouble() * 100);
return result;
}
myList.Count < 100是对的。
这代码写的也太没水准了,呵呵。