java wie erstelle array/matrix verschiedener Objekte

Ich bin ein bisschen verwirrt

Erstellte ich eine Klasse namens " person, die eine Alters-und name-Attribute (und set-Methoden).
Dann in einer anderen Klasse möchte ich ein array erstellen, die von Personen , wobei jede person hat ein anderes Alter und name.
Aber einige, wie in der end-alle meine Personen, die am Ende mit den letzten Namen und Alter.
Wenn ich manuell erstellen, dann ist es ok, aber mit einer for-Schleife habe ich das problem.
Was muss ich tun um unterschiedliche Personen?

Hier ist der code der Klasse person:

public class person {
static String name;
static int age;
public person() {
    name="name";
    age=0;
}
public static String getName() {
    return name;
}
public static void setName(String name) {
    person.name = name;
}
public static int getAge() {
    return age;
}
public static void setAge(int age) {
    person.age = age;
}

public static void main(String[] args) {
    //TODO Auto-generated method stub

}

}

Und hier ist der code wo ich möchte mein array/matrix:

  public class array {
 static person[][] a;

 public static void main(String[] args) {
  a=new person[3][3];


  //manual created person
  person first=new person();
  person second=new person();
  person third=new person();
  first.setAge(12);
  first.setName("first");
  second.setAge(20);
  second.setName("second");
  third.setAge(40);
  third.setName("third");


  //automatic (here I get the disired effect)
  for (int i = 0; i < a.length; i++) {
   for (int j = 0; j < a.length; j++) {
    a[i][j]=new person();
    a[i][j].setAge(10+j);
    a[i][j].setName("Alia"+i);
    System.out.println(i+" "+j+" "+a[i][j].getName()+" "+a[i][j].getAge());
   }
  }

// a[0][0]=first;
// a[0][1]=second;
// a[1][2]=third;
// System.out.println(a[0][0].getName()+" "+a[0][0].getAge());

  //for checking , and it doesnt work anymore
  System.out.println(a[0][0].getName()+" "+a[0][0].getAge());

// for (int i = 0; i < a.length; i++) {
//  for (int j = 0; j < a.length; j++) {
//   System.out.println(i+" "+j+" "+a[i][j].getName()+" "+a[i][j].getAge());
//  }
//  
// }
  getname();

 }

 private static void getname() {
  System.err.println("get name function");
  for (int i = 0; i < a.length; i++) {
   for (int j = 0; j < a.length; j++) {
    System.out.println(a[i][j].getName());
   }
  }

 }

}

InformationsquelleAutor ace | 2010-11-13

Schreibe einen Kommentar