本帖最后由 爱吃桃子的猫 于 2014-5-5 14:57 编辑
基础测试题:随机生成10个1-100之间的数放到ArrayList中,要求这10个数不能重复,并且都是偶数。
喵是小菜一枚,刚开始这个问题是利用for循环解决的,然后在网上看到了另一种用while循环解决类似问题的方法,比较了一下两种方法各有优劣,喵会继续努力,加油加油!!!
方法一:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Collections;
- namespace test9
- {
- class Program
- {
- static void Main(string[] args)
- {
- //随机生成10个1-100之间的数放到ArrayList中,要求这10个数不能重复,并且都是偶数。
- Random r = new Random();//生成随机数
- ArrayList arryList = new ArrayList();
- for (int i = 1; i <= 10; i++)
- {
- //生成1-100之间的随机数
- int number = r.Next(1, 101);
- //这是一个数,生成十个不同的随机数
- if (!arryList.Contains(number) && number % 2 == 0)//看是否包含相同的偶数
- {
- arryList.Add(number);//如果不相同且是偶数则添加随机数
- }
- else
- {
- i--;//当产生的随机数跟集合里面的数不包含时,我们要把次数减一次
- }
- }
- for (int j = 0; j < arryList.Count; j++)//循环遍历
- {
- Console.WriteLine(arryList[j]);//向控制台输出随机数
- }
- Console.ReadKey();//当程序运行到这里,会停止到这里,等待用户按一个键再继续执行。
- }
- }
- }
复制代码
方法二:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Collections;
- namespace test9
- {
- class Program
- {
- static void Main(string[] args)
- {
- //随机生成10个1-100之间的数放到ArrayList中,要求这10个数不能重复,并且都是偶数。
- Random r = new Random();//生成随机数
- ArrayList arryList = new ArrayList();
- while (true)
- {
- if (arryList.Count == 10)
- break;
- int num = r.Next(1, 101);
- if (!arryList.Contains(num) && num % 2 == 0)
- {
- arryList.Add(num);
- }
- }
- foreach (var v in arryList)//foreach遍历
- Console.WriteLine(v);
- Console.ReadKey();
- }
- }
- }
复制代码
|
|