我需要創建一個 Java 專案,它由以下類組成:Main、File、Person、Address。在 Main 類中,可以創建 Persons 并為其分配新地址。在 File 類中,Persons 被保存在 ArrayList 中。在 Person 類中,Person 物件的屬性 建構式 一個 ArrayList 用于存盤分配給 Main 類中每個 Person 的地址。地址類具有地址物件的屬性 建構式。
地址類具有屬性 zip、city 和 street 以及它們的 get set 方法。
這就是我的代碼:
public class Address {
private int zip;
private String city;
private String street;
public Address(int zip, String city, String street){
this.zip= zip;
this.city= city;
this.street= street;}
public int Getzip() {
return zip;}
public void setZip(int zip) {
this.zip= zip;}
public String getCity() {
return city; }
public void setCity (String city) {
this.city= city; }
public String getStreet () {
return street; }
public void setStreet(String street) {
this.street = street;}}
在 Person 類中有 First-Name、Last-Name 屬性,并且每個 Person 可以有多個 Addresses,因此一旦創建了 Person,它就可以分配 Adresses。到目前為止,我已經使用 ArrayList 解決了這個問題,該 ArrayList 可以在每次創建地址時保存地址。這是我的個人代碼:
import java.util.ArrayList;
public class Person{
private String firstName;
private String lastName;
private ArrayList<Address> addresses = new ArrayList<Address>();
Person(String firstName, String lastName){
this.firstName = firstName ;
this.lastName = lastName ; }
public void addAddress(int zip, String city, String street)
{Adress ad = new Address (zip, city, street);
addresses.add(ad); }
public String getfirstName () {
return firstName ; }
public void setfirstName (String firstName) {
this.firstName= firstName; }
public String getlastName () {
return lastName ; }
public void setlastName (String lastName ) {
this.lastName = lastName ; }}
在檔案類中有保存人員的 ArrayList 和添加/洗掉人員的方法。
import java.util.ArrayList;
public class File{
private ArrayList<Person> persons= new ArrayList<Person>();
private int anzahl = 0;
public void addPerson (Person person) {
persons.add(person);
}
public void removePerson (Person person) {
persons.remove(person);
}
我在 Main Method 和一些 Person 物件中創建了一個新的 File 物件。
public class Main {
public static void main(String[] args) {
File listOfPersons= new File();
Person p1 = new Person ("Michael", "Smith");
Person p2 = new Person ("James", "Barkley");
Person p3 = new Person ("Olivia", "Atkins");
然后我將人員添加到檔案中:
listOfPersons.addPerson(p1);
listOfPersons.addPerson(p2);
listOfPersons.addPerson(p3);
我為每個人分配一個地址:
p1.addAdress(12345,"New York","Street 1");
p1.addAdress(23456,"Los Angeles","Street 2");
p2.addAdress(34567,"Boston","Street 3");
p3.addAdress(456578,"Miami","Street 4");
所以這是我的問題,在主類中我必須能夠設定或獲取每個 Person 物件的屬性。我可以毫無問題地訪問和更改屬性 firstName 和 lastName。但即使知道我已經為每個人分配了地址,我也不能使用 get 或 set Methods for zip、city或street。
有人可以幫我嗎?
先感謝您
uj5u.com熱心網友回復:
您將需要另一種方法來獲取分配給您的 Person 類中每個 Person 的地址串列。就像是:
public List<Address> getAddresses() {
return addresses;
}
然后您可以在 Main 類中訪問存盤在該串列中的地址:
List<Address> addressList = p1.getAddresses();
for (Address add : addressList) {
System.out.println(addressList.indexOf(add) ": " add.getCity() ", " add.getStreet());
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/518066.html
標籤:爪哇班级数组列表得到放
