黑马程序员技术交流社区

标题: 做一个点名系统,有思路么 [打印本页]

作者: 782385854    时间: 2013-10-23 19:17
标题: 做一个点名系统,有思路么
本帖最后由 782385854 于 2013-10-31 10:03 编辑

用dictionary配对random随机么是?突然想起以前上课的时候老师就是拿这点名的想试试,大哥指点下?
作者: 黑色海    时间: 2013-10-23 19:35
本帖最后由 黑色海 于 2013-10-23 19:36 编辑

dictionary中的键和值是对应的,根据    1---人数上限x     把全班的人名添加进入,然后再根据随机数的键读取值。
注意上线是总人数加1

作者: 姐的霸气谁懂    时间: 2013-10-23 21:18
我用控制台做了一个,你可以参考:
public class Test
{
    public static string GetRandomName(params string[] names)
    {
        Random rd = new Random(DateTime.Now.Millisecond);
        return names[rd.Next(0, names.Length)];
    }
   
    //主函数
    public static void Main(String[] args)
    {
        //测试:
        Console.WriteLine(GetRandomName("张三", "李四", "王五", "赵六"));
    }
}

只给了个思路 你要继续去完善一下  
作者: 追溯客    时间: 2013-10-31 07:28
如问题得到解决,请及时把分类修改为"已解决",这样版主才能给你加分!黑马有你更精彩!
作者: haxyek    时间: 2013-10-31 09:54
本帖最后由 haxyek 于 2013-10-31 10:09 编辑

把姓名和键值对应好,然后进行随机取值,取出来的值显示出来,并且移除这个值,然后再随机取值,周而复始,循环 字典个数次。
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Collections;

  6. namespace 点名
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             string[] lists = { "StuA", "StuB", "StuC", "StuD", "StuE", "StuF" };
  13.             var list = new ArrayList();
  14.             foreach (string tmp in lists)
  15.             {
  16.                 list.Add(tmp);          //在list里装载数组。
  17.             }
  18.             Console.WriteLine("Pass any key to Start");
  19.             Console.ReadKey(true);

  20.             for (int i = 0; i < lists.Length; i++)
  21.             {
  22.                 Random r = new Random();
  23.                 int Num=r.Next(list.Count);
  24.                 Console.WriteLine(list[Num]);
  25.                 list.Remove(list[Num]);
  26.                 Console.WriteLine("按任意键选择下一个。");
  27.                 Console.ReadKey(true);
  28.             }
  29.             Console.WriteLine("pass any key to exit");
  30.             Console.ReadKey(true);
  31.         }
  32.     }
  33. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2