比较double []和int。帮助会很棒

时间:2017-04-09 11:40:49

标签: c#

您好我需要帮助,因为我想比较一个double []和一个int。我知道这不起作用,我需要建议如何继续我应该转换双数组或我试图比较的int。我的代码如下,包括double []和int的非法比较。

我只想计算用户估算温度的次数是否低于或等于0或高于或等于5。

    static void tempCalc()
    {
        Console.Write("Enter a line of coma-separated temperatures: ");
        string line = Console.ReadLine();
        string[] temp = line.Split(',');
        var array = temp.Select(double.Parse).ToArray();

        double sum = array.Sum();
        double numVal = array.Count(); /* Number of values */
        double average = sum / numVal;
        int rangeCount = 0;

        for (var i = 0; i < array.Length; i++)
        {
            if (array <= 0 && array >= 5)
            {
                rangeCount++;
            }
        }

        Console.WriteLine("Average temperature: {0}", average);
        Console.WriteLine("Minimum temperature: {0}", array.Min());
        Console.WriteLine("There are {0} temperatures below 0 or above 5, rangeCount);

    }

2 个答案:

答案 0 :(得分:0)

我认为你想要&#34;对您的for循环进行以下更改

for (var i = 0; i < array.Length; i++)
{
    if (array[i] <= 0 || array[i] >= 5)
    {
        rangeCount++;
    }
}

答案 1 :(得分:0)

尝试继续使用 Linq (因为您已经放置了array.Count()array.Min() ...),例如让我们计算array中超出(0..5)范围的项目(不包括两个边框):

 //DONE: please, notice || instead of &&
 rangeCount = array.Count(item => item <= 0 || item >= 5);

请注意,您不想比较整个 array,但每个项目

 Console.WriteLine("Average temperature: {0}", 
   array.Average());

 Console.WriteLine("Minimum temperature: {0}", 
   array.Min());

 Console.WriteLine("There are {0} temperatures below 0 or above 5", 
   array.Count(item => item <= 0 || item >= 5));