2012-07-08 133 views
0

我已经写了代码,每当我试图测试一下,我得到一个错误说:缺少return语句错误

"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()); 
} 
} 
} 

我有不知道哪里}缺少我已经检查了我的代码几次。请帮忙!

+2

一个'} '与'return'语句完全不同。这可能是你混淆的根源。 – 2012-07-08 23:56:01

+1

你有一个没有return语句的方法,它的签名表示它返回一些东西。神秘在哪里? – 2012-07-09 00:00:16

+0

哪条线是62线? – Raedwald 2015-01-02 23:33:23

回答

9

此功能:

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

声明为返回一个字符串,但缺少return语句。要么使其无效,要么返回一些东西 - 无论这是什么意图。

+0

我的问题是我想方法mailingLabel使用实例返回instance.getStreet()和等等等等,但我不知道如何在代码中实现。我可以使用另一种方式,以便编译器知道它要求我将它应用于实例? – Panthy 2012-07-08 23:59:25

+1

@Rohan:它*知道将它应用到实例,因为该函数不是静态的。只要写'return getStreet();' – 2012-07-09 00:02:12

+1

谢谢!!!!!!!!! asdasdadasda – Panthy 2012-07-09 00:07:18

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

在上述方法中,你应该返回一个字符串按照该方法的签名,而不必返回字符串。

2个选择:

A.饲养方法的签名一样,返回的字符串:

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

OR

B.改变方法签名:

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