私はelse文を含むメソッドを作成していますが、returnキーワードも書いています。今、私はこのようなものを書いている:Java:if、elseとreturn
public boolean deleteAnimal(String name) throws Exception{
if(name == null || name.trim().isEmpty())
throw new Exception("The key is empty");
else if(exists(name)){
hTable.remove(name);
}
else throw new Exception("Animal doesn't exist");
return hTable.get(name) == null;
}
は、私はJavaで新たなんだ、これはプログラミング言語を習得しようとしている私の最初の時間です。 if条件が偽であれば、else文は常に実行されます。これらが偽である場合
今、:
if(name == null || name.trim().isEmpty())
throw new Exception("The key is empty");
else if(exists(name)){
hTable.remove(name);
}
は他の部分は常にexcecuteべきではないでしょうか。
else throw new Exception("Animal doesn't exist");
は、私は、このメソッドがfalse/trueを返しているので、これに気づいて、それ以上の条件が偽である場合でも、それ以外の部分を無視しているように思えます。コード
exists(String name)
の残りと
hTable
(
Map<String,? extends Object>
)のタイプについての知識がなくても
[最小限で完全であり、検証可能な例](http://stackoverflow.com/help/mcve)を投稿してもよろしいですか? – MikeCAT
「else」は、他のすべての条件、 'if'、' else else'は 'false'です。常に*実行するわけではありません。それについてこう考えてください。「雨が降ったら、私は傘を持っていきます。そうでなければ雪が降っていると、私は自分のパーカを着ます。そうでなければ、私はショーツとTシャツを着用します。 ' –
これらはネストされていません。それらは配列決定される。あなたの第二のものはあなたの第二のものと一緒に行く。 '' Animal does not exist '''を望むなら、 '' exists(name) ''は最初のif条件の条件ではなく、偽である必要があります。 @KennethK。 – Gendarme