1

おそらく単純な問題が発生しましたが、問題は if ステートメントの末尾にあるセミコロンであると思われます。問題は eclipse であり、else if ステートメントで else を削除するように求める構文エラーが表示されます。これはほとんどすべての場合に発生します。私と私のための時間は、複数の IF を使用することになります。

        if(saleStatus == false || offerPrice <= currentOffer)
        {
            System.out.print("Error, sale is not open");
            return false;
        }

        else if(currentOffer >= reservePrice)
        {
            saleStatus = false;
        }
4

4 に答える 4

3

関数が取ることができるすべてのパスは、何かを返すように指定した場合、値を返す必要があります。

この場合、おそらく次のように指定しました

access_modifier boolean function_name(params){
...             // ^return type 

}

したがって、すべてのコード パスはブール値を返す必要があります。 あなたのコードでは、パスを取り、else...何も返さずに終了する場合、それは許可されていません。

  else if(currentOffer >= reservePrice)
        {
            saleStatus = false;
            //return something here (null if you don't care)
        }
//or return something here (which all code-paths hit)

Eclipseのような IDE を使用している場合、このようなことについて事前に警告することができます。

于 2012-11-05T08:17:29.337 に答える
1

あなたのブロックreturnにはステートメントがありません。elseメソッドで戻り値の型が宣言されている場合、コードがelseブロックに入ると、メソッドは何を返すかわかりません。

その中に、または (*) の後に 1 つ入れます。

于 2012-11-05T08:17:33.620 に答える
0

最初の if では値を返すため、残りのメソッドは実行されないため、「else」を指定しても意味がありません。

一部の開発者は、コード品質のために関数内で複数の return ステートメントを避けるようにしています。

于 2012-11-05T08:26:15.503 に答える