我的渔民洗牌不工作

时间:2014-01-27 05:15:01

标签: c# random shuffle

我确信我做得对,我知道其他主题,但是我觉得我做得对,我不确定要查找什么错误。

我想要做的是将x大小的数组1分配给x然后随机播放它,现在我只是硬编码x为8直到我得到基础知识,我是新手当它到来对于c#所以我似乎在努力解决一些最基本的概念。

我一直在玩它现在我开发了这个问题

'ArrayAssignment.Program.Shuffle<sort>(int[])'必须声明一个正文,因为它没有标记为abstract,extern或partial 行:18 专栏:28

任何帮助将不胜感激

    class NumberShuffle
    {
    int i;
    int j;
    //array
    int[] sort = new int[8];                  

    static Random _random = new Random();

    public static void Shuffle<int>(int[] sort);


    public void RunProgram()
    {


       for (int i = 0; i < 8; i++)
       {
           sort[i] = i + 1;
       }
       var random = _random;
       for (int i = sort.Length; i > 1; i--)
       {
           int j = random.Next(i);
           int tmp = sort[j];
           sort[j] = sort[i - 1];
           sort[i - 1] = tmp;

       }


       for (int i = 0; i < 8; i++)
       {
           Console.WriteLine(sort[i]);
       }

       }


          static void Main(string[] args)
        {
        NumberShuffle myNumberShuffle = new NumberShuffle();
        myNumberShuffle.RunProgram();

        Console.WriteLine("\n\n===============================");
        Console.WriteLine("NumberShuffle: Press any key to finish");
        Console.ReadKey();

        }
        }

2 个答案:

答案 0 :(得分:2)

好吧,因为编译器告诉你(... Shuffle(int [])必须声明一个正文,因为它没有标记为abstract,extern或partial ...),你应该< em>实现方法的主体:

// Incorrect: the method requires body
// public static void Shuffle<int>(int[] sort);

public static void Shuffle<int>(int[] sort) {
  // Put necessary code here
}

或者,如果您实际上不需要Shuffle方法,则可以安全删除

答案 1 :(得分:2)

删除此字符串public static void Shuffle<int>(int[] sort);