0

OK、このプロジェクトをどこから始めればよいか説明してくれる人が必要です。

まず、名前が「N / A」、IDが-1のオブジェクトを定義するデフォルト(引数なし)コンストラクターをPersonに追加して、コンストラクターをオーバーロードする必要があります。

次に、このクラスの2つのプライベートインスタンス変数をパラメーターとして渡された2つの値にリセットするために使用できるresetという名前のセッターメソッドを追加する必要があります。

次に、これら2つのプライベート変数を取得するために使用できるgetNameおよびgetIdという名前のgetterメソッドを追加する必要があります。

コードは次のとおりです。

public class Person
{
private String name;
private int    id;
private static int personCount = 0;

// constructor
public Person(String pname)
{
name = pname;
personCount++;
id = 100 + personCount;
}



public String  toString()
{
 return "name: " + name + "  id: " + id
  + "  (Person count: " + personCount + ")";
}

// static/class method
public static int getCount()
{
  return personCount;
}

////////////////////////////////////////////////

public class StaticTest
{
  public static void main(String args[])
{
    Person tom = new Person("Tom Jones");
    System.out.println("Person.getCount(): " + Person.getCount());
    System.out.println(tom);
    System.out.println();

    Person sue = new Person("Susan Top");
    System.out.println("Person.getCount(): " + Person.getCount());
    System.out.println(sue);
    System.out.println("sue.getCount(): " + sue.getCount());
    System.out.println();

    Person fred = new Person("Fred Shoe");
    System.out.println("Person.getCount(): " + Person.getCount());
    System.out.println(fred);
    System.out.println();

    System.out.println("tom.getCount(): " + tom.getCount());
    System.out.println("sue.getCount(): " + sue.getCount());
    System.out.println("fred.getCount(): " + fred.getCount());
}
}

どこから始めればよいのか正確にはわかりません。答えだけが必要なわけではありません。これを明確に説明してくれる人を探しています。

4

2 に答える 2

0

I highly recommend consulting the Java Tutorials, which should be very helpful here. For example, there is a section on constructors which details how they work, even giving an example of a no-argument form:

Although Bicycle only has one constructor, it could have others, including a no-argument constructor:

public Bicycle() {
    gear = 1;
    cadence = 10;
    speed = 0;
}

Bicycle yourBike = new Bicycle(); invokes the no-argument constructor to create a new Bicycle object called yourBike.

Similarly, there are sections dedicated to defining methods and passing information to them. There's even a section on returning values from your method.

Read the above and you should be able to complete your homework :-)

于 2012-09-12T02:17:38.940 に答える
0

最初に、デフォルト (引数なし) のコンストラクターを Person に追加して、コンストラクターをオーバーロードする必要があります。このコンストラクターは、"N/A" という名前と -1 の ID を持つオブジェクトを定義します。

コンストラクタについてはこちらをご覧ください。

Person クラスには、1 つの引数を取る ctor が既に含まれています。あなたがする必要があるのは、通常はパラメータのないctorである「デフォルトのctor」を作成することです。

例:

class x
{
   // ctor w/ parameter
   //
   x(int a)
   {
      // logic here
   }

   // default ctor (contains no parameter)
   //
   x()
   {
     // logic here
   }
}

次に、このクラスの 2 つのプライベート インスタンス変数をパラメーターとして渡された 2 つの値にリセットするために使用できる、reset という名前のセッター メソッドを追加する必要があります。

セッターメソッドは、パブリック関数を介して値を「設定」することにより、メンバー変数を「カプセル化」するために使用されます。ここを参照してください。

例:

class x
{
   private int _number;

   // Setter, used to set the value of '_number'
   //
   public void setNumber(int value)
   {
     _number = value; 
   }
}

次に、これら 2 つのプライベート変数を取得するために使用できる getName と getId という名前のゲッター メソッドを追加する必要があります。

ゲッターは反対のことをします。プライベートメンバー変数の値を「設定」する代わりに、メンバー変数から値を「取得」するために使用されます。

例:

class x
{
   private int _number;

   // Getter, used to return the value of _number
   //
   public int getNumber()
   {
      return _number;
   }
}

お役に立てれば

于 2012-09-12T06:44:52.377 に答える