Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用多个方法时缺少return语句错误_Java_Methods - Fatal编程技术网

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

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) {

我有一个任务,我们基于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"
因此,编译器希望方法块在所有可能的代码路径中都具有
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
或其父类型)

方法签名表示它将返回一个整数值。但是 您不会从方法中返回任何内容,因此会出现错误

方法签名表示它将返回一个整数值。但是 您不会从方法中返回任何内容,因此会出现错误