[英]Unreachable Statement On “Return”
这是我的头等舱:
public class Fraction
{
int Numerator;
int Denominator;
/**
* Constructor for objects of class Fraction
*/
public Fraction()
{
// initialise instance variables
Numerator=0;
Denominator=0;
}
public Fraction(int StartNumerator , int StartDenominator)
{
StartNumerator = Numerator;
StartDenominator = Denominator;
}
public String toString()
{
String FractionOne = Numerator + "/" + Denominator;
String FractionTwo = Numerator + "/" + Denominator;
return FractionOne;
return FractionTwo;
}
}
这是我的第二堂课:
public class TestFraction
{
public static void main (String [] args)
{
Fraction FractionOne = new Fraction(1 , 4);
Fraction FractionTwo = new Fraction(2 , 3);
System.out.println(FractionOne);
System.out.println(FractionTwo);
}
}
编译时,出现以下错误:return FractionTwo; 作为无法到达的陈述
请帮助我了解我在做什么错。
return FractionOne;
return FractionTwo;
您不能一个接一个地返回两个return语句。 第二个将永远无法执行,因为第一个将退出该方法。 这就是第二条语句无法到达的原因。
如果要返回两个字符串,则可能应该将它们连接起来:
return FractionOne+FractionTwo;
要么
return FractionOne+","+FractionTwo;
要么
return FractionOne+"\n"+FractionTwo;
但是,由于它们都是相同的,所以我看不到返回两者的意义。
问题是您只能获得一次退货。
如果您需要发送2个值,请查看Java Collections API
您可以执行以下操作:
@Override
public String toString()
{
String FractionOne = Numerator + "/" + Denominator;
String FractionTwo = Numerator + "/" + Denominator;
return FractionOne + " "+ FractionTwo;
}
请在函数中添加重写以重写toString的功能
就像其他所有人所说的那样,一旦您“返回”,就无法再处理任何语句。
另外,您将在此构造函数上遇到问题:
public Fraction(int StartNumerator , int StartDenominator)
{
StartNumerator = Numerator;
StartDenominator = Denominator;
}
最后,在默认构造函数中将分母初始化为0。 那可能是个坏主意。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.