我做了一个小的C#程序,它接受一个带有一些数字(浮点数)的数组,并告诉数组中有多少数字不在区间内a a,b] 我成功了。这是程序:
using System;
namespace Exercice_1
{
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("a = ?");
float a = float.Parse(Console.ReadLine());
Console.WriteLine("b = ?");
float b = float.Parse(Console.ReadLine());
float[] t = new float[50];
for(int i=0; i<t.Length; i++)
{
t[i]=4*i;
}
int k = 0;
for(int i=0; i<t.Length; i++)
{
if(t[i] <= a || t[i] > b)
{
k++;
}
}
Console.Write(""+k);
Console.ReadKey(true);
}
}
}
但后来我想尝试制作相同的节目,但使用&#34;功能&#34; 但我没有成功。这是程序:
using System;
namespace Exercice_2
{
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("a = ?");
float a = float.Parse(Console.ReadLine());
Console.WriteLine("b = ?");
float b = float.Parse(Console.ReadLine());
float[] t = new float[50];
for(int i=0; i<t.Length; i++)
{
t[i]=4*i;
}
Console.Write(""+count(float[] t, float a, float b));
Console.ReadKey(true);
}
static int count(float[] u, float x, float y)
{
int k = 0;
for(int i=0; i<u.Length; i++)
{
if(u[i] <= x || u[i] > y)
{
k++;
}
}
return k;
}
}
}
我也试过把这个功能放在&#34; class Program&#34;之外,但它也没有用。
这是我第一次尝试使用&#34;功能&#34;所以我可能犯了一些明显的初学者错误......
以下是所有&#34;错误&#34; SharpDevelop指出的是:http://oi62.tinypic.com/dnydsk.jpg
答案 0 :(得分:3)
Console.Write(""+count(float[] t, float a, float b));
应该是
Console.Write(""+count(t, a, b));
调用方法时,不需要指定在方法签名
中声明的类型Signiture: count(float[] u, float x, float y)
To Call: count(t, a, b)
答案 1 :(得分:2)
这一行:
Console.Write(""+count(float[] t, float a, float b));
需要:
Console.Write(count(t, a, b));
调用函数时,传递变量。类型已经修复。