我有一个包含所有功能的功能类。我希望在函数之间传递参数,而不是递归。
让我说我的第一个函数返回一个数组,我想将该数组发送到另一个检查它的函数。
我怎么能在Program类中做到这一点?
我试试:
public List InsertFibo()
{
List<int> Fibo = new List<int>();
Console.WriteLine("enter you number");
string n = Console.ReadLine();
int numbers = Convert.ToInt32(n);
for (int i = 0; i < numbers; i++)
{
Console.WriteLine("insert numbers");
string z = Console.ReadLine();
int number = Convert.ToInt32(z);
Fibo.Add(number);
}
return Fibo; ;
}
public bool check(List<int> f)
{
int temp1=0;
int temp2=1;
int temp3=2;
if (f[temp1]+f[temp2]==f[temp3])
{
temp1++;
temp2++;
temp3++;
return true ;
}
else
{
return false;
}
}
计划类
Fibonachi f = new Fibonachi();
Console.WriteLine(f.InsertFibo());
Console.WriteLine(f.check());
我该怎么做?
答案 0 :(得分:1)
你可以用这个
Fibonachi f = new Fibonachi();
List list = new List();
list = f.InsertFibo();
Console.WriteLine(list);
Console.WriteLine(f.check(list));
答案 1 :(得分:0)
尝试
Array a = new Array ();
var b = a.InsertArray()
Console.WriteLine(b);
Console.WriteLine(a.check(b));
答案 2 :(得分:0)
我对你的程序的理解是,函数InsertFibo()要求用户输入数字n(比如说5),然后输入n个数字(5个数字)。然后调用第二个函数check(),以确认输入的数字形成斐波那契数列。
所以对第一个函数的调用应该是这样的
Fibonacci Fibonacci = new Fibonacci();
List<int> lstFibNumbers = Fibonacci.InsertFibo();
for(int index = 0; index < lstFibNumbers.Count; index++)
Console.WriteLine(lstFibNumbers[index]);
现在将check方法称为
Console.WriteLine(Fibonacci.check(lstFibNumbers));
检查方法将如下所示
public bool check(List<int> f)
{
int temp1=0;
int temp2=1;
int temp3=2;
bool IsAFibonacciSeries = false;
while(temp1 < f.Count)
{
if (f[temp1]+f[temp2]==f[temp3])
{
temp1++;
temp2++;
temp3++;
IsAFibonacciSeries = true;
}
else
{
return false; //If anytime the series is not followed, just return false
}
}
return IsAFibonacciSeries;
}