2017-02-27 12 views
-1

if文で設定しています。承認された値を制限しようとしており、設定された値を印刷するためにprintメソッドを使用しています。値が受け入れられない場合は「間違っています」。設定者のif文に問題があります

これはメソッドではありません。

Public class Sykkel extends Kjøretøy 
{ 

private int height; 


public Sykkel(String colour) 
{ 
    // initialise instance variables 
    super(1, colour); 
    this.height = height; 
} 

public void setHeight (int height) { 
    if(height > 35 && height < 70){ 
     System.out.println("Sykkelen er " + height + " cm høy."); 
    } else { 
     System.out.println("Wrong"); 
    } 
} 

public int getHeight() { 
    return height; 
} 

どんなに我々はそれが「間違った」を出力し、高さとして設定したもの。コード内のエラーは誰にも見えますか?

私たちはthis.heightとjust heightの両方を試しましたが、結果は同じです。

ありがとうございます。

+2

あなたのコンストラクタの 'this.height = height;'のような感じがしません。その文脈で 'height'とは何でしょうか?実際に 'setHeight()'を呼び出す方法を教えてください。 – domsson

+0

** 1。**どの値が割り当ての右側にありますか?this.height = height; '? ** 2 **どのような値が 'if(height> 35 && height <70)'でテストされます - それは関数のパラメータ 'height'かメンバ' this.height'ですか?後者の場合、結果は最初の質問に対する回答に強く依存します。 – CiaPan

+0

元のコードを提供する必要があります。このコードには明らかなコンパイルエラーがあるため、何が間違っているのかを推測するのは難しいです。他のものは、それはシングルスレッドコードですか?またはいくつかのマルチスレッドを使用していますか? – alobodzk

答えて

5

私の観測。

あなたのコンストラクタは次のようになります。あなたのsetHeight方法で

public Sykkel(String colour, int height) 
{ 
    // initialise instance variables 
    super(1, colour); 
    this.height = height; 
} 

は、インスタンス変数に高さを割り当てる必要があります。

public void setHeight (int height) { 
    if(height > 35 && height < 70){ 
     System.out.println("Sykkelen er " + height + " cm høy."); 
    } else { 
     System.out.println("Wrong"); 
    } 
    // add the below line: 
    this.height = height; 
} 

他の方法では大丈夫そうです。

私はsetHeight(40);を呼び出すと、私は

Sykkelen er 40 cm høy. 

を取得していますが、この情報がお役に立てば幸い!

+0

ありがとうございました!今すぐそれは素晴らしい:) – r0m1

+0

@ r0m1あなたはこの答えを受け入れたとマークする必要があります。 – domsson

0

ありセッターメソッドには割り当てがなく、単に

this.height =高さを追加します。

public void setHeight (int height) { 
    if(height > 35 && height < 70){ 
     System.out.println("Sykkelen er " + height + " cm høy."); 
    } else { 
     System.out.println("Wrong"); 
    } 
this.height = height; 
} 
関連する問題