我想做的是制作一个银行申请,一开始它会询问您是否要创建储蓄帐户或活期帐户,然后要求您输入所选帐户的名称。我试图让程序创建一个具有我写下的名称的对象。它无法识别我给它们起的名字。
class Program
{
static void Main()
{
Console.WriteLine("Enter 's' if you want a savings account. Enter
'c' if you want current account.");
string which = Console.ReadLine();
if (which == "s")
{
Console.WriteLine("Enter Name");
string name = Console.ReadLine();
Savingacc name;
name = new Savingacc();
name.mainmenu();
}
else if (which == "c")
{
Console.WriteLine("Enter Name");
string name = Console.ReadLine();
Currentacc name;
name = new Currentacc();
name.mainmenu();
}
}
}
您不应该尝试将帐户的变量名称设为他们输入的名称。您应该在包含帐户名称的帐户类中创建一个属性。与这个非常非常基本的示例类似:
class Program
{
static void Main(string[] args)
{
var name = "Bob";
var newAccount = new Account();
newAccount.AccountName = name;
Console.WriteLine(name);
Console.WriteLine(newAccount.AccountName);
}
}
public class Account
{
public string AccountName { get; set; }
}
您定义了两个具有相同名称的不同变量,请重命名其中一个。
string which = Console.ReadLine();
if (which == "s")
{
Console.WriteLine("Enter Name");
string name = Console.ReadLine();
Savingacc savingAccountObj;
savingAccountObj = new Savingacc();
savingAccountObj.mainmenu();
}
else if (which == "c")
{
Console.WriteLine("Enter Name");
string name = Console.ReadLine();
Currentacc curAccountObj;
curAccountObj = new Currentacc();
curAccountObj.mainmenu();
}
在 if 和 else 块中,您已从用户那里获得了帐户名称,但您尚未使用它。
我认为您已经编码了 Savingacc (-->SavingAcc) 和 Currentacc (-->CurrentAcc)。 在这种情况下,我建议您在使用新的 .
覆盖名为“name”的变量时检查代码。Console.WriteLine("Enter Name");
string name = Console.ReadLine();
Savingacc name;
name = new Savingacc();
将其视为此建议...
class Program {
static void Main() {
Console.WriteLine("Enter 's' if you want a savings account. Enter 'c' if you want current account.");
string which = Console.ReadLine();
Console.WriteLine("Enter Name");
string name = Console.ReadLine();
if (which == "s") SavingAcc account = new SavingAcc(name);
if (which == "c") CurrentAcc account = new CurrentAcc(name);
if (which == "s" || which == "c") account.mainMenu();
}
}
此外,考虑到如果用户选择不同的选项,可能无法创建帐户,因此在调用其方法 mainMenu 之前包括一个测试。