Java 使用多个方法时缺少return语句错误
我有一个任务,我们基于uml制定了一系列不同的方法。uml看起来像+add2Nums(iX1:int,iX2:int):int,我的代码看起来像这样:Java 使用多个方法时缺少return语句错误,java,methods,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) {
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"
因此,编译器希望方法块在所有可能的代码路径中都具有return
相同的数据类型/其父类型(int
或其父类型)。您只需在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"
因此,编译器希望方法块在所有可能的代码路径中都具有相同的数据类型/其父类型(int
或其父类型)
方法签名表示它将返回一个整数值。但是
您不会从方法中返回任何内容,因此会出现错误
方法签名表示它将返回一个整数值。但是
您不会从方法中返回任何内容,因此会出现错误