C# c搜索数组-方法没有重载
当我试图编译我的程序时,我总是遇到一个错误,我在代码的搜索部分遇到了问题。不知道我做错了什么 以下是编译时出现的错误: 周3.cs97,17:错误CS1501:否 方法“searchAccounts”的重载 采取1周3.cs27,21: 相关符号的位置 先前错误 这是我的全部代码:C# c搜索数组-方法没有重载,c#,arrays,search,methods,C#,Arrays,Search,Methods,当我试图编译我的程序时,我总是遇到一个错误,我在代码的搜索部分遇到了问题。不知道我做错了什么 以下是编译时出现的错误: 周3.cs97,17:错误CS1501:否 方法“searchAccounts”的重载 采取1周3.cs27,21: 相关符号的位置 先前错误 这是我的全部代码: using System; class Accounts { // private class members const int arrayLength = 5;
using System;
class Accounts
{
// private class members
const int arrayLength = 5;
private int [] Account = new int[arrayLength]; //create arrays
private double [] AcctBalance = new double[arrayLength];
private string [] LastName = new string[arrayLength];
// fill all three parallel arrays with input
public void fillAccounts(int[] Account, double[] AcctBalance, string[] accountNameArray)
{
int arrayLength = 0;
for (int i = 0; i < Account.Length; i++)
{
Console.Write("Enter integer account number ");
Account[arrayLength] = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter account balance ");
AcctBalance[arrayLength] = Convert.ToDouble(Console.ReadLine());
Console.Write("Enter account holder last name ");
} //end for
} //end fillAccounts method
public void searchAccounts(int[] Account, double[] AccountBalance, string[] LastName)
{
int accountNum = 0;
bool isValid = false;
int x = 0;
Console.Write("Please enter the account number you wish to search for ");
accountNum = Convert.ToInt32(Console.ReadLine());
while (x < Account.Length && accountNum != Account[x])
++x;
if(x != Account.Length)
{
isValid = true;
}
if(isValid)
Console.WriteLine("Account number " + Account[x] + " has a balance of " + AcctBalance[x]
+ " and the account holder is " + LastName[x]);
else
Console.WriteLine("No such account as {0}", accountNum);
}
public void averageAccounts(int[] Account, double[] AcctBalance)
{
// compute and display average of all 5 bal as currency use length.
int balanceCount = 0;
double balance = AcctBalance[balanceCount];
double balanceSum = 0;
double averageBalance = 0;
for (int i = 0; i < Account.Length; i++)
{
balanceSum = balanceSum + balanceCount;
}
averageBalance = (balanceSum/balanceCount);
} //end averageAccounts method
} //end public class accounts
class account_assignment //wrapper class for main
{
static void Main()
{
int[] Account;
double[] AcctBalance;
string[] LastName;
char entry;
char a, A;
char b, B;
char x, X;
//instantiate one new Accounts object
Accounts accounts = new Accounts();
//call class methods to fill accounts Array
accounts.fillAccounts(Account, AcctBalance, LastName);
//menu detailing entnries to select search (a or A) average (b or B) exit (x or X)
Console.WriteLine("*****************************************");
Console.WriteLine("enter an a or A to search account numbers");
Console.WriteLine("enter a b or B to average the accounts");
Console.WriteLine("enter an x or X to exit program");
Console.WriteLine("*****************************************");
entry = Convert.ToChar(Console.ReadLine());
if (entry == 'a' || entry == 'A')
accounts.searchAccounts(Account);
if (entry == 'b' || entry == 'B')
accounts.averageAccounts(Account, AcctBalance);
if (entry == 'x' || entry == 'X')
Console.WriteLine("The program will now close");
//internal documentation
} //end main
}
任何帮助都将不胜感激。替换
accounts.searchAccounts(Account);
与
正如目前所声明的,searchAccounts需要三个参数,不仅仅是您试图传递的参数-其他两个参数不是可选的,尽管您似乎根本不使用searchAccounts中的帐户余额行:
accounts.searchAccounts(Account);
正在使用一个参数调用searchAccounts
鉴于searchAccounts有此要求:
public void searchAccounts(int[] Account, double[] AccountBalance, string[] LastName)
有点离题,但我强烈建议您创建一个Account类并使用list或Dictionary类型的列表。这不仅是更好的OO实践,您还可以随时使用Linq的所有功能,因此您不必从头开始将方法编写为averageAccounts。
public void searchAccounts(int[] Account, double[] AccountBalance, string[] LastName)