如何在c#中循环一个函数

本文关键字:一个 函数 循环 | 更新日期: 2023-09-27 18:21:55

我在计算机科学课上遇到了这个问题,我不知道如何回答。问题:

•创建一个名为tossCoins的过程,其中包含一个整数参数-numTosses

•在tosCoin过程中,从挑战#5调用tosCoin函数numTosses次。例如,如果我们输入tossCoin(50),tossCoin函数将被调用50次。

•然后,您的投掷硬币程序应打印出硬币落在头部的次数和硬币落在尾部的次数

•扩展您的主程序,以便用户可以选择硬币的投掷次数

我已经创建了tossCoin函数,但不知道如何按照用户的要求运行它,也不知道如何创建头和尾的计数。这是我迄今为止的代码:

    static void Main(string[] args)
    {
        Random rnd = new Random();
        Console.WriteLine(tossCoin(rnd));
        Console.Write("Please enter a number: ");
        int numTosses = Convert.ToInt16(Console.ReadLine());
        Console.ReadLine();
    }
    static string tossCoin(Random rnd)
    {
        int num = rnd.Next(1, 3);
        string heads = "Heads";
        string tails = "Tails";
        if(num == 1)
        {
            return heads;
        }
        else
        {
            return tails;
        }
    }
    static void tossCoins(int numTosses)
    {
        int headsTally = 0;
        int tailsTally = 0;
        for(int i = 0; i < numTosses; i++)
        {
            string outcome = tossCoin(rnd);
            numTosses--;
            if(outcome == heads)
            {
                headsTally++;
            }
            else
            {
                tailsTally++;
            }
        }
    }
}

如果有人能帮忙,那就太好了,因为我正在努力学习使用函数和过程的不同规则。谢谢,雷顿。

如何在c#中循环一个函数

有几件事,首先看起来你几乎已经完成了。你只需要在主方法中调用tossCoins()函数。其次,您不需要在for循环中递减numTosses,即删除numTosses--;

编辑:正如Tommy所说,outcome == heads语句不会编译,因为heads没有定义。将头替换为"Heads",或者在函数的前面定义它。是的,你可能想要返回/打印结果。