2016-11-07 13 views
-5

私はmutatorメソッドとaccessorメソッドを持つクラスで作業しているプロジェクトがあります。 私のmutatorメソッドでは、ブール値を返す必要があります。 "True - 高さが範囲内であり、オブジェクトの値が変更されたことを示します。"もしそうでなければ、明らかに間違っています。高さが範囲内にあることは、それが1〜10を含むことを意味する。Mutatorメソッドのブール

私はブール値を書く方法を知っていますが、私はそれをどのようにミューテータメソッドで行うのでしょうか? 通常、と私は非常に新しいんだ覚えておいて、私は次のように沿って何かを記述します。

public void setHeight(int newHeight){ 
    height = newHeight; 
} 

どのように私はミューテータメソッドの内部で、私のブールを置くだけでなく、高さが内であることを確実にするでしょうその適切な範囲?あなたはif文を確認することを作成する必要があり

public boolean setHeight(int newHeight) { 
    if (1<=height && height<=10) { 
     height = newHeight; 
     return true; 
    } else { 
     return false; 
    } 
} 
+1

'if(height> = 1 && height> = 10)'それらのうちの1つが '<='であってはいけないと確信していますか? – John3136

+0

@ John3136私はそれを変更しました。有難うございます!明白な誤りは今明らかです。 –

答えて

-1

: 私のブールは、の線に沿って何かだろう高さが有効な場合:

public boolean setHeight(int height){ 

    if(1 <= height && 10 >= height){ 

     this.height = height; 
     return true; 

    } 

    return false; 

} 

return true;が実行されます。したがって、高さが有効な場合、ifの後にあるものは実行されません。

this.heightは、オブジェクトの変数heightを指しますが、この場合のheightは、パラメータによって定義される変数を参照します。

+0

これは私がやっていたことよりもはるかに理にかなっています。だから、私はブール値をミューテータメソッドの内部に入れたいときは、 "public bool"または "public boolean"と書いてから通常のミューテータメソッドを使用しますか? –

+0

bool - > booleanエラーを発見してくれてありがとう。 – apt1002

+0

ねえ、あなたはテスタークラスのためにこれをどうしますか?私は過去1時間に苦労してきました。私はmutatorメソッドのブール値を使用する必要があります。だからmyWhatever.setHeight .....何のようなもの?推奨事項やリンクはありますか? –

-1
public boolean setHeight(int newHeight){ 
    if (height >= 10) { 
    height = newHeight; 
    System.out.println("It's perfect!"); 
    return true; 
    } 
System.out.println("Not right!"); 
return false; 
} 
+0

助けてくれてありがとう!私は本やすべてを調べてみましたが、私が必要なものを見つけることができませんでした:public boolean setHeight –

0

:あなたのセッターの戻り値の型を変更する必要があります

if (height >= 1 && height <= 10) { 
    System.out.println("It's perfect!"); 
} else { 
    System.out.println("Not right!"); 
} 
関連する問題