2012-04-04 74 views
0

這是我寫的一個構造函數,它包含地址信息,但是我最後一部分遇到問題,必須返回一個包含名稱,地址,城市,州郵政編碼的字符串。什麼是寫它的正確方法?返回包含多個變量的字符串的方法

公共類地址{

private String name; 
private String address; 
private String state; 
private String city; 
private String zipcode; 

public Address(String name, String address, String state, String city, String zipcode){ 

    this.name = name; 
    this.address = address; 
    this.state = state; 
    this.city = city; 
    this.zipcode = zipcode; 


} 

public Address(){ 

    name = "occupant"; 
    address = " "; 
    state = " "; 
    city = " "; 
    zipcode = " "; 


} 

public void setAddress(String Address){ 

    this.address = Address; 

} 

public void setstate(String state){ 

    this.state= state; 


} 

public void setcity(String city){ 

    this.city = city; 
} 

public void setzipcode(String code){ 

    this.zipcode = code; 

} 

public String getaddress(){ // Return string that contains name and address and city and zipcode 

    return getaddress() + " " + return state + " " + return city + " " + return code; 



} 

}

+0

你需要它在一個整串打印地址?或者它可能是一串字符串?另外你爲什麼要在'getaddress()'裏面調用'getaddress()'? – 2012-04-04 21:51:05

回答

3
return address + " " + state + " " + city + " " + code; 

的幾個注意事項:

  • 只有一個return,其次是要返回的對象,這是字符串的結果串聯
  • 調用您的連接方法getFullAddress()以區分它與吸氣劑。
  • 使用小寫的變量名
  • getter和setter應該得到駝峯:setCity()getState()
+1

我也想指出,你可以覆蓋你的地址對象的toString – Kevin 2012-04-04 21:55:29

+0

是的,但是因爲'.toString()'應該主要用於調試,如果他需要這個用於其他目的,他最好做一個新的方法 – Bozho 2012-04-04 22:32:37

0

我認爲你的問題可能是,你在呼喚getaddress()getaddress()內,而不是使用address

編輯:和Bozho指出的,只有一個返回每個語句的方法。

0

爲了清楚起見,我會將變量地址重命名爲street。不管雖然,而不是overridding toString()我會在每個字段添加getter和添加靜態工具類用下面的方法

static String formatAddress(Address address){ 
    final String formatter = "Address\n%s\n%s\n%s, %s %s"; 
    return String.format(formatter, address.getName(),address.getAddress(),address.getCity(), address.getState(), address.getZipcode()); 
} 
+0

顯然這是一個簡單的格式化程序,但它應該讓你走上前進的道路。 – TechTrip 2012-04-04 22:05:39

相關問題