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

时间:2013-10-23 02:12:27

标签: c# random

我确信这是微不足道的,但我无法弄清楚。我的老师向我们展示了如何使用.Next()创建随机数。昨晚的声明,我被告知写一个刺激两个骰子卷并比较它们的作业。我写了代码,一切正常,直到我将dice2添加到我的console.writeline。我在这里错过了什么?

一旦我添加了dice2,我就会收到以下错误,当我删除dice2时它们都会消失。

  1. )预期
  2. ;预期
  3. 无效的表达式术语')'
  4. 只能使用赋值,调用,递增,递减,等待和新对象表达式作为语句。
  5. 这是我的代码

    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.Next(1,6);到int dice2 = m.Next(1,6);它起作用了。然后我意识到它没有给我任何6个值,所以我将它改为(1,7)并且它完美地工作了

2 个答案:

答案 0 :(得分:3)

你错过了一个逗号:

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

答案 1 :(得分:2)

您在此行中遗漏了dice1dice2之间的逗号:

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

应该是:

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