2017-11-26 10 views
0

私はかなり新しいJavaで、いくつかの醜いif/elseコードを実行する必要があります。このJavaコードを単純化するにはどうすればよいですか?

if (st1 == 0 || st2 == 0 || st3 == 0) { 
    if (st1 == 0) { 
    return a; 
    } else if (st2 == 0) { 
    return b; 
    } else { 
    return c; 
    } 
} 

しかし、この種のコードを実行するためにいくつかの簡単な方法があるべきように私には思えます。 (私が離れている場合、私は外を残すことができる知っているが、それは問題を示す目的のためである)

私は誰かがこのコードを美化する方法についてのアイデアを持っている願っています:)

+9

外部条件はほとんど冗長です。それを削除し、 'else'を' else if(st3 == 0) 'に置き換えてください。そして、実際には 'else'sもまた余分です。 –

+1

外部ifステートメントを削除します。それは文章を二度言っているようなものです。それは疲れる必要はなく、人々はすでにそれを初めて持っています。 –

+0

三項演算子はどうですか? 'return st1 == 0? a:st2 == 0? b:st3 == 0? c:/ * TODO:0以外の値を返す* /; ' –

答えて

4

外側の条件を削除し、不要な「else」を削除します。

if (st1 == 0) { 
    return a; 
} 
if (st2 == 0) { 
    return b; 
} 
if (st3 == 0) { 
    return c; 
} 
+0

youreコードがelse ifを使用する利点は何ですか? – BeatzCraft

+2

利点は、読むのが簡単ではないコードです - 'return'の後に 'else'は冗長です。なぜなら 'return'はメソッドの実行を終了させるからです。 – NorthernSky

関連する問題