2017-06-25 15 views
-3

私はJavaプログラミングの初心者ですが、プログラムしようとしていますが、If Elseステートメントでエラーが発生しています。誰かがそれを調べて助けてくれますか?ステートメントではないelseステートメントエラーの場合

public Effort getStep(int value) { 
     if (value < mGreenStep) 
      return Effort.GURU; 
     else (value < mYelloStep) 
      return Effort.WALKING; 

    } 
} 

I get an error which says error: ';' expected 

もし誰かがこの文をお手伝いしてもらえますか?

+2

だろう。 – Marvin

+1

あなたはあまりにも多くの '}' – Yonlif

+3

あなたは別のユーザー名で、この全く同じ質問をしました:https://stackoverflow.com/questions/44626042/if-else-statement-error-in-javaそれをしないでください。代わりに、元の質問を改善してください。 –

答えて

1

if-elseブロックでは、else文に条件がありません。条件を追加する場合は、if-else if文に変更します。

else if (value < mYelloStep) 
    return effort.WALKING; 
else 
    return null; 
0

else(condn)を使用してください。 javaでは、elseを単独で使うと、上記の条件のどれも満足していないことを意味しますが、else-ifを使用しない限り、条件の後には決して続かれません。

ie。

.. 
else if (value < mYellowStep) 
return effort.WALKING; 
} 

simply use 
.. 
else 
return effort.WALKING 
} 
+0

リンクはどうですか?短いコード?彼のコードでどこが間違っていたのかを指摘していますか?この種のことはコメントのためのものです。 – Yonlif

2

で試してみてください。条件なし

条件付き
public Effort getStep(int value) { 
    if (value < mGreenStep) 
     return Effort.GURU; 
    else 
     return Effort.WALKING; 
} 

:あなたはEffortを返すように宣言しているように、第2のバージョンはどちらかのコンパイルされませんが、場合によってどこをカバーして分岐がないことを

public Effort getStep(int value) { 
    if (value < mGreenStep) 
     return Effort.GURU; 
    else if (value < mYelloStep) 
     return Effort.WALKING; 
    // missing default 
} 

注意value < mGreenStepvalue < mYelloSteptrueなので、それにはさらにelseが必要です。サイドノートとして

public Effort getStep(int value) { 
    if (value < mGreenStep) { 
     return Effort.GURU; 
    } else { 
     return Effort.WALKING; 
    } 
} 

(私はあなたに余分な}を無視している:括弧なしif/else文({})それは強く、常にそれらを含めることをお勧めしますを使用することが有効ですがこのコードはおそらくコピー&からコピーされたものに過ぎません)

0

if-elseの構文が間違っていると、elseの後にifがあるはずです。ここでのif-else文の正しい構文は、あなたのコード内の

int testscore = 76; 
char grade; 

if (testscore >= 90) { 
    grade = 'A'; 
} else if (testscore >= 80) { 
    grade = 'B'; 
} else if (testscore >= 70) { 
    grade = 'C'; 
} else if (testscore >= 60) { 
    grade = 'D'; 
} else { 
    grade = 'F'; 
} 

で正しい構文は、それはちょうど条件なし `else`または条件付き`他if`のどちらかだ

public Effort getStep(int value) { 
    if (value < mGreenStep) 
     return Effort.GURU; 
    else if (value < mYelloStep) 
     return Effort.WALKING; 
    return null; 
} 
+0

'return null'の代わりに、OPは'新しいAssertionError( "値は<" + mYelloStep + "で" + value "; – assylias

関連する問題