我正在写一个多面体模具滚动程序。用户可以输入要掷骰子的类型和骰子的数量。它运作良好,但我不确定如何将总数加起来然后打印出来 但是,它成功地打印了每个单独的卷筒,因此我知道它可以生成由用户确定的适当范围内的随机数。我想在程序结束时打印总数,但它不起作用 程序离开开关盒后,变量的值是否消失?
static void Main(string[] args)
{
int typeOfDice = Convert.ToInt32(Console.ReadLine());
Random rnd = new Random();
int numberOfDice = Convert.ToInt32(Console.ReadLine());
// Assigns random generator parameters to user's choice of dice type
switch (typeOfDice)
{
case 4:
for(int count = 0; count < numberOfDice; count++)
{
int currentRoll = rnd.Next(typeOfDice);
int total = currentRoll + 1;
Console.WriteLine(currentRoll + 1);
Console.WriteLine(" ");
}
break;
//....
case 100:
for (int count = 0; count < numberOfDice; count++)
{
int currentRoll = rnd.Next(typeOfDice);
int total = currentRoll + 1;
Console.WriteLine(currentRoll + 1);
}
break;
}
}
}
答案 0 :(得分:1)
在switch语句之前定义变量total,它将起作用。因为你在for循环中声明它,所以一旦for循环结束它就会超出范围。
答案 1 :(得分:0)
您的代码存在两个问题。
total += currentRoll + 1
代替total = currentRoll + 1