1

これは些細なことだと確信していますが、理解できません。先生は、.Next(); を使用して乱数を作成する方法を教えてくれました。昨夜の声明で、2 つのサイコロを振ってそれらを比較する課題を書くように言われました。コードを書き出すと、dice2 を console.writeline に追加するまで、すべてが正常に機能していました。ここで何が欠けていますか?

dice2 を追加すると、次のエラーが発生し、dice2 を削除するとすべて消えます。

  1. ) 期待される
  2. ; 期待される
  3. 無効な表現用語 ')'
  4. ステートメントとして使用できるのは、割り当て、呼び出し、インクリメント、デクリメント、待機、および新しいオブジェクト式のみです。

これが私のコードです

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)に変更したところ、完全に機能しました

4

2 に答える 2

3

コンマがありません:

Console.WriteLine("You rolled a {0} and a {1}", dice1, dice2);
//                                                  ^^^
于 2013-10-23T02:14:03.170 に答える
2

dice1次の行の間にとの間にカンマがありませんdice2:

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

次のようにする必要があります。

Console.WriteLine("You rolled a {0} and a {1}", dice1, dice2);
于 2013-10-23T02:14:13.087 に答える