2016-03-08 72 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; 

}