2017-08-10 37 views
0

無知の事に対する謝罪、私はこれで非常に新しく、次のエラーが出ます。オペレータ*は、decimal型とdouble型のオペランドには適用できません

Iライン56と63は

ライン56のエラーですも置いコメント - CS0019演算子*はdecimal型のオペランドに適用することができないと、二重

ライン63のエラー - 引数1:から変換できません " BOOL 『「を』空

{ 
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)); 

    } 

} 
} 
+1

'setAccountName'、' setAccountNumber'?これはJavaとは何ですか?そのようなコードにあなたを教えている人は、とても熟練したC#開発者ではありません。 –

+0

'calculateinterest()'関数の戻り値の型を 'void'から' double'に変更します。実際には 'void'は返さないことを意味し、' void'関数から 'double'値を返そうとしています。 – shahjahan

+0

'void'メソッドは戻り値の型を持たないので、そこに' return'文を使うことはできません。 'GetBalance'が10進数の場合(私はあなたが* camelCase *メソッド名とgetter-setterメソッドを使用するJava世界から来ていると思います)、2番目の演算子が' double'の場合は乗算は無効ですどちらも)。 –

答えて

0

あなたcalculateinterest()メソッドの戻り値の型はvoidですが、それは値を返します。 戻り値の型をvoidの代わりに適切なデータ型に変更します。

は、getBalance()のようになります。decimalを返します。 利息を10進数に変換してgetinterestrate()doubleの代わりにdecimalに返すことができます。

あなたは以下のようにgetinterestrate()を変更することができます -

public decimal getinterestrate() 
{ 
    return (decimal)interestrate; 
} 
+0

これは問題の1つだけを解決します –

+0

ありがとう!私は10進数と2重のエラーを修正することができましたが、printaccountメソッドの問題がまだ残っています。 "voidからboolに変換できません。 –

+0

getAccountName()メソッドが正しい戻り値の型を持っていることを確認してください。 – Santhosh

関連する問題