2011-10-23 3 views
0

パートcおよびdで説明されているセット時間メソッドに類似するコンストラクタをさらに2つ追加します。他のものに類似したコンストラクタを追加することは何を意味しますか?

パートC:与えられた値が有効である場合は、時間を設定し、メソッドのsetTime(時、分)を書きます。

public void SetTime(int newHour, int newMinute) 
     { 
      if (hourIsValid = true) 
        hour = newHour; 
      if (minuteIsValid = true) 
       minute = newMinute; 
     } 

パートD:指定した値が有効である場合は、時間を設定し、別の方法のsetTime(時間、分、ISAM)を書きます。指定された時間は1から12の範囲でなければなりません。パラメータisAMは、時間がa.m時間の場合はtrue、それ以外の場合はfalseです。

public void SetTime(int newHour, int newMinute, boolean isAM) 
{ 
    if (hour >=0 && hour < 12) 
    {  isAM = true; 
      hour = newHour;} 

    if (minuteIsValid = true) 
      minute = newMinute; 

    if (isAM = true) 
     System.out.println (hour + "a.m"); 
    else 
     nightHour = hour % 12; 
     System.out.println(nightHour + "p.m"); 

} 

これは私がこれまでに製作したもので、類似したものであることを求められていますか?私はそれが同じことを意味することを知っていますが、それはSetHourとSetMinuteのような2つの部分Cのような意味ですか?

+0

if(hourIsValid = true) - 代入または比較? – mmatloka

+0

それは情報を出力するためにhourIsValidが必要だった以前のものからのものです。これは割り当てであり、hourIsValidをtrueに設定します。しかし、それは== – Renuz

+0

だから私は見落として何か、それを指摘してくれてありがとう、あなたは私の元の質問について考えている?どのように私は類似している2つ以上を作るのですか? – Renuz

答えて

2

すべてのクラスは、それぞれが異なる変数を取得することができ、複数のコンストラクタを持つことができます。この宿題のために

、あなたはセッター関数に似た値を取得するコンストラクタを追加し、セッターを使用する必要がありますが:

public ClassName(int newHour, int newMinute) 
    { 
     SeTime(newHour, newMinute); 
    } 
1

質問は単純に(あなたの避難所」問題のクラスの2つのコンストラクタを書く意味(c)及び(d)に記載されている方法と同じ機能を果たすものであること。つまり、時間と分、時、分、および "am"フラグでそれぞれクラスを初期化します。例えば

  • 方法:public void setTime(int hour, int minute)
  • Analagousコンストラクタ:public Time(int hour, int minute)

注コンストラクタ、メソッド呼び出しに単にチェーンことができます。例えば

public Time(int hour, int minute) { 
    setTime(hour, minute); 
} 

しかしながら、典型的にはコンストラクタは、最終的なフィールドを初期化するために使用されてもよく、したがってセッターになりますないチェーン。例えば

public Time(int hour, int minute) { 
    this.hour = hour; 
    this.minute = minute; 
} 
+0

あなたが推測したように、クラスは単に時間と呼ばれています – Renuz

関連する問題