您好我需要帮助,因为我想比较一个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);
}
答案 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));