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;



}

}

4

3 に答える 3

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

いくつかのメモ:

  • 1 つのみreturn、その後に返されるオブジェクトが続きます。これは文字列連結の結果です
  • 連結メソッドgetFullAddress()を呼び出して、ゲッターと区別します。
  • 小文字の変数名を使用する
  • getter と setter は camel-case: を取得する必要がありますsetCity()getState()
于 2012-04-04T21:50:10.653 に答える
1

わかりやすくするために、変数のアドレスの名前をstreetに変更します。ただし、オーバーライドするのではなく、toString()各フィールドにゲッターを追加し、静的ユーティリティクラスを追加して、次のメソッドでアドレスを出力します。

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());
}
于 2012-04-04T22:04:33.710 に答える
0

あなたの問題はおそらく、使用するのではなくgetaddress()内部で呼び出していることだと思いますgetaddress()address

編集:そしてBozhoが指摘したように、メソッド内のステートメントごとに1つのリターンのみです。

于 2012-04-04T21:51:45.680 に答える