使用多个方法时缺少return语句错误

时间:2016-03-08 03:18:56

标签: java methods

我有一个任务,我们根据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告诉我要做的事情相反。我觉得我错过了一些非常重要的东西,谁能告诉我发生了什么?

2 个答案:

答案 0 :(得分:4)

您应该在int方法中返回某些内容(add2Nums),因为编译器会告诉您:

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或其父类型)。

答案 1 :(得分:1)

  

你的方法签名说它会返回一个整数值。但   你没有从你的方法中返回任何东西,因此错误。

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

}