【问题标题】:Adding the sum of two randomly generated numbers (using arrays)添加两个随机生成的数字的总和(使用数组)
【发布时间】:2015-10-08 01:42:42
【问题描述】:
class Program
{
    const int ROLLS = 51;
    static void Main(string[] args)
    {
        Random r = new Random();
        int sum = 0;
        int[] dice1 = new int[ROLLS];
        int[] dice2 = new int[ROLLS];

        for (int roll = 0; roll <= 50; roll++)
        {
            dice1[roll] = GenerateNum(r);
            dice2[roll] = GenerateNum(r);
            Console.WriteLine("ROLL{0}: {1} + {2} = sum goes here", roll+1, dice1[roll]+1, dice2[roll]+1);
        }
    }

    static int GenerateNum (Random r)
    {
        return r.Next(1, 7);
    }
  }
}

所以我有两个数组来存储随机生成的两个不同的 int 值,我想要实现的是这两个随机生成的 int 值的总和。

执行时应显示: Roll 1:(随机数)+(随机数)=(两个随机数之和)

【问题讨论】:

  • 有什么问题?为什么不简单地添加 {3} 而不是“sum 到这里”并计算要传入的值?
  • Console.WriteLine("ROLL{0}: {1} + {2} = {3}", roll+1, dice1[roll], dice2[roll], sum);跨度>
  • @kailanjian 我明白,但它正在计算我无法正确计算的两个随机数的总和。
  • @JK。由于在控制台中吐出字符串时附加了+1,他得到了错误的结果(我无耻地复制粘贴,但@JleruOHeP 发现了) - 如果有的话,我猜他问错了问题。

标签: c# arrays loops random sum


【解决方案1】:

只需将两者相加并将它们存储在sum 中。然后以与在控制台输出中显示其余值相同的方式显示sum

dice1[roll] = GenerateNum(r);
dice2[roll] = GenerateNum(r);
sum = dice1[roll] + dice2[roll];
Console.WriteLine("ROLL{0}: {1} + {2} = {3}", roll + 1, dice1[roll], dice2[roll], sum);

【讨论】:

  • sum 在循环外声明;如果你想要 d6,你可能不需要骰子“+1”: sum = dice1[roll] + dice2[roll]; Console.WriteLine("ROLL{0}: {1} + {2} = {3}", roll + 1, dice1[roll], dice2[roll], sum);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-08
  • 2013-05-28
  • 2020-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多