0

私はちょうどいくつかのプロジェクトに取り組んでいましたが、次のコードの何が問題なのかを見つけることができませんでした:

double getInterest(double amt,double tax){  
        double diff=0;
        double refund=0;
        double interest=0;
        if(amt>=(tax*0.4)){
           diff=amt-(tax*0.4);
           System.out.println(" "+diff);  //This is not working.Nothing gets printed.
           refund=diff;                   //The value is not being assigned to refund.
        }                                 //refund remains to be 0 throughout.
         interest=diff*0.01*12;
         if(refund>0){
            JOptionPane.showMessageDialog(null,"Your refund is: "+refund);
         }
        return interest;
}

コードのエラーがわかりません。しかし、まだ完全には機能していません。
エラーは、コメントの形式でコードに示されます。
エラーを見つけて問題を解決するのを手伝ってくれる人はいますか?

diffの値が出力されない理由と、 の値がdiff変数に割り当てられない理由がわかりませんrefund

私は NetBeans で作業していますが、コンパイル時エラーは発生しません。

printlnとの両方diffを使用して値を確認しようとしましたがrefund、値が出力されません。

4

3 に答える 3

0

ブロック内のステートメントifが実行されない場合、これは、引数が condition を満たすこのメソッドへの呼び出しがないことを意味しますamt >= (tax*0.4)。本当の問題は、このメソッドにどのような値を渡すかということです。

于 2013-04-12T15:55:25.380 に答える
0

行の括弧 には、最初の括弧の前にif(amt>=(tax*0.4){ 閉じ括弧がありません。ブラケットを確認し、オプション メニューですべてのエラーがオンになっていることを確認してください (可能な場合)。){

ブラケット エラーのため、このコードはコンパイルできません。これはコンパイル時に狂ってしまうので、Netbeans が正しいプロジェクトをコンパイルしていることを確認してください。

于 2013-04-12T15:55:46.883 に答える