[英]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.