C# 尝试使基本骰子程序工作时出错

C# 尝试使基本骰子程序工作时出错,c#,random,C#,Random,我肯定这很琐碎,但我想不出来。我的老师刚刚向我们展示了如何使用.Next()创建随机数;昨晚的声明,我被告知写一个作业,刺激两个骰子滚动并比较它们。我写下了代码,一切正常,直到我把dice2添加到我的控制台。我错过了什么 一旦我添加了dice2,我就出现了以下错误,当我删除dice2时,这些错误都消失了 )期望 );期望 无效的表达式项“')” 只有赋值、调用、递增、递减、等待和新对象表达式可以用作语句 这是我的密码 Random m = new Random(); Random m1 = ne

我肯定这很琐碎,但我想不出来。我的老师刚刚向我们展示了如何使用.Next()创建随机数;昨晚的声明,我被告知写一个作业,刺激两个骰子滚动并比较它们。我写下了代码,一切正常,直到我把dice2添加到我的控制台。我错过了什么

一旦我添加了dice2,我就出现了以下错误,当我删除dice2时,这些错误都消失了

  • )期望
  • );期望
  • 无效的表达式项“')”
  • 只有赋值、调用、递增、递减、等待和新对象表达式可以用作语句
  • 这是我的密码

    Random m = new Random();
    Random m1 = new Random();
    string again;
    
    do
    {
    
        int dice1 = m.Next(1, 6);
        int dice2 = m1.Next(1, 6);
    
        if (dice1 == 6 && dice2 == 6)
        {
            Console.WriteLine("You rolled boxcars");
        }
        else if (dice1 == 1 && dice2 == 1)
        {
            Console.WriteLine("You rolled snake-eyes");
        }
        else
        {
            Console.WriteLine("You rolled a {0} and a {1}", dice1 dice2);
        }
            Console.WriteLine("Again? (y/n)");
        again = Console.ReadLine();
    
    } while (again == "y");
    
    编辑


    在添加逗号后,我注意到我得到了相同的值,所以在做了一些研究之后,我删除了Random m1=new Random();并且改变了int dice2=m1。下一步(1,6);to int dice2=m.Next(1,6);它成功了。然后我意识到它没有给我任何6个值,所以我将它改为(1,7),它工作得非常好

    你缺少了一个逗号:

    Console.WriteLine("You rolled a {0} and a {1}", dice1, dice2);
    //                                                  ^^^
    

    您缺少一个逗号:

    Console.WriteLine("You rolled a {0} and a {1}", dice1, dice2);
    //                                                  ^^^
    

    您在此行的
    dice1
    dice2
    之间缺少一个逗号:

    Console.WriteLine("You rolled a {0} and a {1}", dice1 dice2);
    
    应该是:

    Console.WriteLine("You rolled a {0} and a {1}", dice1, dice2);
    

    您在此行的
    dice1
    dice2
    之间缺少一个逗号:

    Console.WriteLine("You rolled a {0} and a {1}", dice1 dice2);
    
    应该是:

    Console.WriteLine("You rolled a {0} and a {1}", dice1, dice2);
    

    哇,我错过了那件事,觉得很傻。我试着重写了两次代码,但都没有弄明白。谢谢你,哇,我错过了那件事,觉得很傻。我试着重写了两次代码,但都没有弄明白。感谢Bunch,因为您同时创建了两个
    Random
    实例,它们几乎总是具有相同的种子,因此生成完全相同的随机数序列,因此您的两个值将始终匹配。与其创建两个随机数生成器并从每个生成器中获取一个值,不如只创建一个随机数生成器并要求它提供两个随机数。是的,我刚刚注意到了这一点。我删除了随机m1=新随机();并且改变了int dice2=m1。下一步(1,6);to int dice2=m.Next(1,6);它工作得很好。然后我意识到它没有给我任何6个值,所以我把它改为(1,7),它工作得很好。因为你在同一时间创建了两个
    Random
    实例,它们几乎总是有相同的种子,因此生成了完全相同的随机数序列,所以你的两个值总是匹配的。与其创建两个随机数生成器并从每个生成器中获取一个值,不如只创建一个随机数生成器并要求它提供两个随机数。是的,我刚刚注意到了这一点。我删除了随机m1=新随机();并且改变了int dice2=m1。下一步(1,6);to int dice2=m.Next(1,6);它工作得很好。然后我意识到它没有给我任何6个值,所以我把它改为(1,7),它工作得非常好。