你可以先定义两个函数 IsEven() 和 IsRepeat() 分别判断 一个数是否为偶数,这个数在ArrayList中是否重复;
然后再主函数中设置一个循环,当达到10个数时退出;
循环体中 ,先生成一个随机数,判断它是否为偶数,如果是偶数再做下一步判断,看它在ArryList中是否已经重复,两道关卡都通过就Add()这个数;否则重新生成。具体代码如下:
- //判断是不是偶数
- public static bool IsEven(int number)
- {
- if (number % 2 == 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
复制代码
- //判断是否重复
- public static bool IsRepeat(ArrayList array, int number)
- {
- if (array.IndexOf(number) != -1)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
复制代码
- static void Main(string[] args)
- {
- ArrayList arrayList = new ArrayList();
- Random ran = new Random();
- int i = 0;
- while(i < 10) //因为要输入10个数,用i控制个数,达到十个跳出循环
- {
- int number = ran.Next(1, 100); //产生一个随机数
- if (IsEven(number)) //如果随机数为偶数则继续执行,否则重新生成随机数再判断
- {
- if (IsRepeat(arrayList, number)) //如果重复则重新生成随机数,否则添加到ArrayList中
- {
- continue; //返回while循环开始
- }
- else
- {
- arrayList.Add(number);
- }
- }
- else
- {
- continue;
- }
- i++;
- }
- foreach (int a in arrayList) //遍历并打印输出
- {
- Console.WriteLine(a);
- }
- Console.ReadLine();
- }
复制代码 |