对于无知道歉,我对此非常陌生,并且我收到了以下错误。
我还在第56和63行
中放置了注释第56行错误 - CS0019运算符*不能应用于十进制和双精度类型的操作数
第63行错误 - 参数1:无法转换为' void'到了布尔'
{
class Savings : Account
{
//property
private double interestrate;
//constructor
public Savings()
{
}
public Savings(string AccountName, int AccountNumber, decimal balance, double interestrate)
{
setAccountName(AccountName);
setAccountNumber(AccountNumber);
setBalance(balance);
setinterestrate(interestrate);
}
//setter
public void setinterestrate(double interestratepassedin)
{
if (interestrate > 0)
{
interestrate = interestratepassedin;
}
else
{
interestrate = 0;
}
}
//getter
public double getinterestrate()
{
return interestrate;
}
//method to calculate interest
public void calculateinterest()
{
//line 56 below
return getBalance() * getinterestrate();
}
public override void printaccount()
{
base.printaccount();
//line 63 below
Console.WriteLine(Console.WriteLine("{0}\t{1}\t{2}\t{3}", getAccountName(), getAccountNumber(), getBalance(), interestrate));
}
}
}
答案 0 :(得分:0)
您的calculateinterest()
方法的返回类型为void
,但会返回一个值。
将返回类型更改为适当的数据类型而不是void
。
看起来像getBalance()
返回decimal
。
您可以将兴趣转换为小数,并使getinterestrate()
返回decimal
而不是double
。
您可以更改getinterestrate()
,如下所示: -
public decimal getinterestrate()
{
return (decimal)interestrate;
}