0

コードを書いたのですが、それをテストしようとすると、次のようなエラーが表示されます。

"StreetAddress.java:62: missing return statement 

 }"

コードは次のとおりです。

public class StreetAddress
  {
     private String myStreet;
     private String myCity;
     private String myState;
     private String myZip;

 public StreetAddress( String street, String city, String state, String zip )
 {
  myStreet = street;
  myCity = city;
  myState = state;
  myZip = zip;
 }

 public void setStreet( String street )
{
 myStreet = street;
}

 public String getStreet()
{
 return myStreet;
}

 public void setCity( String city )
{
 myCity = city;
}

 public String getCity()
{
 return myCity;
}

 public void setState( String state )
{
 myState = state;
}

 public String getState()
{
 return myState;
}

 public void setZIP( String zip )
{
 myZip = zip;
}

 public String getZIP()
{
 return myZip;
}

public String mailingLabel()
{
 System.out.println( getStreet() );
 System.out.println( getCity() + ", " + getState() + " " + getZIP() );
}
}
}

} がどこにないのかわかりません コードを何度かチェックしました。助けてください!

4

2 に答える 2

9

この機能:

public String mailingLabel()
{
 System.out.println( getStreet() );
 System.out.println( getCity() + ", " + getState() + " " + getZIP() );
}

文字列を返すように宣言されていますが、return ステートメントがありません。それを無効にするか、何かを返すかのいずれか - 意図された方。

于 2012-07-08T23:54:32.557 に答える
1
public String mailingLabel()
{
 System.out.println( getStreet() );
 System.out.println( getCity() + ", " + getState() + " " + getZIP() );
}

上記のメソッドでは、メソッドのシグネチャに従って文字列を返すことになっていますが、文字列を返していません。

2 つのオプション:

A. メソッドのシグネチャを同じにして、文字列を返します。

public String mailingLabel()
{
 return getStreet() + getCity() + ", " + getState() + " " + getZIP();
}

また

B. メソッドの署名を変更します。

public void mailingLabel()
{
 System.out.println( getStreet() );
 System.out.println( getCity() + ", " + getState() + " " + getZIP() );
}
于 2012-08-06T22:10:54.987 に答える