【问题标题】:Method that returns string containing multiple variables返回包含多个变量的字符串的方法
【发布时间】:2012-04-04 21:48:19
【问题描述】:

这是我编写的一个包含地址信息的构造函数,但我在最后一部分遇到了问题,我必须返回一个包含姓名、地址、城市、州邮政编码的字符串。正确的写法是什么?

公开课地址{

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;



}

}

【问题讨论】:

  • 你需要一整串吗?或者它可能是一个字符串数组?还有你为什么在getaddress()里面打电话getaddress()????

标签: java string


【解决方案1】:
 return address + " " + state + " " + city + " " + code;

几点说明:

  • 只有一个return,后面是要返回的对象,是字符串拼接的结果
  • 调用您的连接方法getFullAddress() 以将其与getter 区分开来。
  • 使用小写的变量名
  • getter 和 setter 应该是驼峰式的:setCity(), getState()

【讨论】:

  • 我还想指出,您可以覆盖地址对象的 toString
  • 是的,但是.toString()应该主要用于调试,如果他需要这个用于其他目的,他最好做一个新的方法
【解决方案2】:

为了清楚起见,我将变量地址重命名为街道。无论如何,我不会覆盖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());
}

【讨论】:

  • 显然这是一个简单的格式化程序,但它应该能让你走上正轨。
【解决方案3】:

我认为您的问题可能是您在getaddress() 内部调用getaddress() 而不是使用address

编辑:正如 Bozho 指出的那样,方法中的每个语句只有一个返回。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-20
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多