嗨我在返回avg时收到错误;如果任何人都可以帮我解决我的问题,那么返回键不能跟着对象表达。我非常感激。
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?
}
}
答案 0 :(得分:4)
由于您的返回类型为void
将此static void Pos(int[] array)
更改为static float Pos(int[] array)
此外,您可能会得到&#34;并非所有代码路径返回&#34;;
这样做:
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;
}
答案 1 :(得分:1)
您的方法的返回类型为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 时,表示您不希望该方法返回任何内容。
答案 2 :(得分:1)
您使用的空白不允许您返回任何内容。