You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#问题:如何在外部修改已定义掷骰子方法的面数参数

自定义骰子面数的解决方法

1. 修改掷骰子方法,添加面数参数

把原来的方法改成接受面数作为参数,这样每次调用时可以传入用户指定的数值:

static int RullaTärning(Random slumpObjekt, int sides)
{
    // Random.Next(1, sides+1) 会生成 1 到 sides 之间的整数(包含两端)
    return slumpObjekt.Next(1, sides + 1);
}

注:Random.Next(a, b)的规则是返回大于等于a,小于b的随机数,所以要生成1到sides的数,第二个参数得写sides + 1

2. 在主程序中获取用户输入并调用方法

在主逻辑里先获取用户输入的面数,验证有效性后,再调用修改后的方法:

static void Main()
{
    // 只创建一次Random实例(不要在RullaTärning方法里重复创建)
    Random slump = new Random();

    Console.Write("请输入骰子的面数:");
    string input = Console.ReadLine();
    
    // 验证输入是否是有效整数,且面数至少为2
    if (int.TryParse(input, out int sides) && sides >= 2)
    {
        int result = RullaTärning(slump, sides);
        Console.WriteLine($"掷出的点数是:{result}");
    }
    else
    {
        Console.WriteLine("请输入一个大于等于2的有效整数!");
    }
}

关键说明

  • 不要在RullaTärning方法里每次创建Random对象:多次快速创建Random会使用相同的系统时钟种子,导致生成重复的随机数,所以只在程序初始化时创建一次即可。
  • 输入验证:用int.TryParse可以避免用户输入非数字时程序崩溃,同时判断面数≥2,符合骰子的基本逻辑。

内容的提问来源于stack exchange,提问作者oliverwahrolen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 17:11:18