2012-04-04 47 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

相关问题