2016-05-28 1 views
-1

私のプロジェクトでは、newGenerationNumberという整数が質問です。パラメータとして渡された引数がゼロより小さい場合は、generationNumberインスタンス変数をゼロに設定します。それ以外の場合は、generationNumberインスタンス変数にnewGenerationNumberを割り当てます。私はこれを始める方法を混同しています。私のコードI outはコンストラクタとメソッド

If (generationNumber >0) 
generationNumber = generationNumber 

なら、私はこれが正しいならば、私は他の

+0

以下のようなコードを記述します;'あなたが唯一の現在の値を再割り当てするので、効果がありません。しかし、どのような質問がコンストラクタと関係しているのか分かりません。 – Turing85

答えて

0
generationNumber = newGenerationNumber; 
if (generationNumber < 0) { 
    generationNumber = 0; 
} 

それを作るために必要がある場合、私は混乱している作られた プライベートint型generationNumber

ですそれはそのままです

+0

実際にGuppy newAgeInWeeksを公用に使用した年齢部分は、これと非常によく似ています。パラメータとして渡された引数が0より小さいか50より大きい場合は、ageInWeekageInWeekインスタンス変数をゼロに設定します。それ以外の場合は、ageInWeeksインスタンス変数にnewAgeInWeeksを割り当てます。 – user6394146

0

if...elseは良い選択ですが、唯一のものではありません。

int generationNumber; 

public Guppy (int newGenerationNumber) { 
    if (newGenerationNumber > 0) { 
     generationNumber = newGenerationNumber; 
    } else { 
     generationNumber = 0; 
    } 
} 

インスタンスのint型のプリミティブは、デフォルトでは0の価値を持っています。つまり、elseの部分を残して、それが肯定的であるかどうかだけを確認することができます。

+0

しかし、どうすれば始めることができますか?私はコンストラクタを行うことはできませんpublic Guppy(){それは私にエラーを与えています – user6394146

+0

また、newGenerationNumberについて質問している部分はどこですか? – user6394146

+0

@ user6394146ここにあります。 'newGenerationNumber'はコンストラクタからのあなたのパラメータの名前です。 –

0

新しい GenerationInstanceパラメータ(引数)が0未満

であればそれは、だから私はおそらく、条件演算子(x ? y : z)使用したいと言う:あなたが使用することができます

public Guppy(int newGenerationInstance) { 
    this.generationInstance = newGenerationInstance < 0 ? 0 : newGenerationInstance; 
} 

または交互にif/elseご希望の場合:tに対して

public Guppy(int newGenerationInstance) { 
    if (newGenerationInstance < 0) { 
     this.generationInstance = 0; 
    } else { 
     this.generationInstance = newGenerationInstance; 
    } 
} 
+0

ありがとうGuys public Guppy(int generationNumber)を試しましたが、 ageInWeeks) – user6394146

+0

@ user6394146:あなたは 'Guppy(int)'コンストラクタを1つしか持てません。おそらく、あなたは年齢の面で何か他のことをするように指示されます。 –

0

彼のシンプルなソリューション、私は割り当て `generationNumber = generationNumber

public class NewNumberGenerationClass { 
//instance variable because you can access this with the instance of the class 
private int NewGenerationNumber; 
public NewNumberGenerationClass(int i){ 
    setNewGenerationNumber(i); 
} 
//setting value before getting it 
public void setNewGenerationNumber(int i) 
{ 
    if(i < 0) 
    { 
     this.NewGenerationNumber = 0; 
    } 
    else 
    { 
     this.NewGenerationNumber = i; 
    } 
} 
//access vaule using get method 
public int getNewGenerationNumber() 
{ 
    return this.NewGenerationNumber; 
} 
    public static void main(String[] args){ 
     NewNumberGenerationClass s = new NewNumberGenerationClass(-5); 
     NewNumberGenerationClass s1 = new NewNumberGenerationClass(5); 

     System.out.println(s.getNewGenerationNumber()); 
     System.out.println(s1.getNewGenerationNumber()); 
    } 

}

関連する問題