防止使用<创建帐户;0 OR >10000年
本文关键字:OR 10000年 创建 lt | 更新日期: 2023-09-27 18:02:08
我目前有一个程序,使银行帐户和存储它们,但我正试图添加代码,以防止用户设置一个帐户与负余额或余额超过10,000。
我已经声明了private decimal balance = 0;
,以便将每个人的初始余额设置为0,然后他们输入他们希望存储的金额。我想做的是阻止人们用<0 OR> 10000
这是我目前看到的IF语句
public virtual bool BalanceRange(decimal amount)
{
if ((balance < 0) || (balance > 10000))
{
return false; //OR message "Amount Not Allowed";
}
this.balance = amount;
return true;
}
IF语句的目的是检查用户希望在其银行账户中存储的金额,该数字在Main方法中输入,如下所示:
public static void Main()
{
CustomerAccount test = new CustomerAccount("Fred", 11000);
Console.WriteLine(test.GetName());
Console.WriteLine(test.GetBalance());
}
所做的是创建一个帐户,名称为Fred,金额为11,000。我的IF语句应该拒绝创建此帐户,因为金额超过了我设置的IF语句要检查的金额(10,000),但这似乎没有发生,我不确定为什么
可能是这个原因。这是用于GetBalance()测试的类,所以我认为我的IF语句需要放在其中。
public virtual decimal GetBalance()
{
return this.balance;
}
构造函数:
public interface IAccount
{
bool PayInFunds(decimal amount);
bool WithdrawFunds(decimal amount);
bool BalanceRange(decimal amount);
decimal GetBalance();
string RudeLetterString();
string GetName();
bool SetName(string inName);
}
你在设置它之前检查余额,所以它总是0。检查通过了,然后你设置了非法号码。检查金额参数,而不是余额字段。
public virtual bool BalanceRange(decimal amount)
{
if ((amount < 0) || (amount> 10000))
{
return false; //OR message "Amount Not Allowed";
}
this.balance = amount;
return true;
}
恐怕我不能评论,所以以这种方式问,你甚至在哪里调用BalanceRange方法?
我希望在构造函数的某个地方也有,但是你不能调用构造函数,它会拒绝创建对象。
您可以在类中使用私有构造函数尝试这样做:
public static CustomerAccount AccountFactory(string name, int amount)
{
if ((balance < 0) || (balance >
return null; //OR message "Amount Not Allowed";
return new CustomerAccount(name, amount)
}