我有一个作业,我们根据 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 告诉我要做的事情。我觉得我错过了一些非常重要的事情,有人可以告诉我发生了什么事吗?
最佳答案
您应该简单地在 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"
因此,编译器期望方法 block 在代码的所有可能路径中返回
相同的数据类型/其父类型(int
或其父类型) .
关于java - 使用多种方法时缺少返回语句错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35858297/