2016-03-08 77 views
0

我有一個任務,我們根據uml製作了一堆不同的方法。 UML的看起來像這樣+ add2Nums(IX1:INT,IX2:INT):int和我的代碼如下所示:使用多種方法時缺少返回語句錯誤

import java.util.Scanner; 

public class proj2 
{ 
public static void main(String[] args) 
{ 

    add2Nums(2,3); 



} //End main 

public static int add2Nums(int iX1, int iX2) 
{ 


}//End add2Nums 

}//End proj2 

我得到一個錯誤說我缺少return語句,但是如果我更改類型從int到方法聲明中的void,它會進行編譯,但這違背了uml告訴我要做的事情。我覺得我想失去一些超級重要的東西,誰能告訴我發生了什麼事?

回答

4

您應該簡單地add2Nums方法,因爲編譯器返回東西(int你的情況)會告訴你:

public static int add2Nums(int iX1, int iX2) 
{ 
    int num = iX1 + iX2; 
    return num; //this is what you are missing 
} 

你的方法簽名int類型:

public static int add2Nums(int iX1, int iX2) //note the "[int] add2Nums" 

因此,編譯器期望方法塊具有return相同的數據類型/其父類型(int或其父類型s)在所有可能的代碼路徑中。

1

你方法簽名說它將返回一個整數值。但是 你不會從你的方法中返回任何東西,因此錯誤。

public static int add2Nums(int iX1, int iX2) 
{ 
    return iX1 + iX2; 

}