方法返回错误
本文关键字:错误 返回 方法 | 更新日期: 2023-09-27 17:57:54
嗨,我在返回平均值时出错;如果有人能帮我解决这个问题,我非常感谢。
static void Pos(int[] array)
{
Random rand = new Random();
float sum = 0;
int counter = 0;
for (int i = 0; i < array.Length; i++)
{
array[i] = rand.Next(-100, 100);
if(sum >= 0)
{
sum += array[i];
counter++;
}
float avg = sum / counter;
return avg; <<< error?
}
}
您不能返回anthing,因为您的返回类型是void
将此static void Pos(int[] array)
更改为static float Pos(int[] array)
此外,您可能会得到"并非所有代码路径返回";
这样做:
static float Pos(int[] array)
{
Random rand = new Random();
float sum = 0;
int counter = 0;
float avg;
for (int i = 0; i < array.Length; i++)
{
array[i] = rand.Next(-100, 100);
if(sum >= 0)
{
sum += array[i];
counter++;
}
avg = sum / counter;
}
return avg;
}
您使用的是一个不允许返回任何内容的void。
您的方法的返回类型是void
,您将从中返回一个值。
这样做:
static float Pos(int[] array)
{
Random rand = new Random();
float sum = 0;
int counter = 0;
float avg = 0;
for (int i = 0; i < array.Length; i++)
{
array[i] = rand.Next(-100, 100);
if(sum >= 0)
{
sum += array[i];
counter++;
}
avg = sum / counter;
}
return avg;
}
当您将返回类型设置为void时,意味着您不希望该方法返回任何内容。