方法错误 - 缺少Java中的return语句

时间:2017-11-15 15:29:15

标签: java

我正在尝试完成一个链接列表活动但是我有一条错误消息说"缺少返回语句"紧跟在这段代码的最后一个大括号之后。这有什么问题?

public boolean insertNode(DataElement insertItem)
{
    LinkedListNode current;
    LinkedListNode trailCurrent;
    LinkedListNode newNode;

    boolean found;

    newNode = new LinkedListNode();
    newNode.info = insertItem.getCopy();

    newNode.link = null;

    if(first == null)
    {
        first = newNode;
        count++;
    }
    else
    {
        trailCurrent = first;
        current = first;
        found = false;

        while(current !=null && !found)
            if(current.info.compareTo(insertItem) >= 0)
                found = true;
            else
            {
                trailCurrent = current;
                current = current.link;
            }
        if(current == first)
        {
            newNode.link = first;
            first = newNode;
            count++;
        }
        else
        {
            trailCurrent.link = newNode;
            newNode.link = current;
            count++;
        }
    }
}

3 个答案:

答案 0 :(得分:1)

public boolean insertNode 

该声明中有三个部分:

public - 讲述此方法的可访问性。公共意味着任何类都可以访问它。

boolean - 该方法应该向调用者返回一个布尔值。如果您不想返回任何内容,可以使用void

insertNode - 方法的名称。

因此,方法按以下方式构建:

Accesscontrol returnType methodName

可以有以下值:

AccessControl: private, public, protected
returnType: int, boolean, String, void, List etc etc -- Limited just by imagination. 
methodName - should be meaningful verb. 

因此,当您要求方法返回布尔值时,可以通过以下方式调用它:

boolean insertSuccessful = insertNode(dataElement); 

现在insertSuccessful将包含true或false值,具体取决于插入是否成功。

如果你的方法是无效的,它将不返回任何内容,并且调用者不会期望返回一个值,因此没有insertSuccessful变量。

答案 1 :(得分:0)

public boolean insertNode

返回一个布尔值。如果你想在函数中做一些事情而不返回任何东西,只需替换

public void insertNode 

在所有编程语言中,返回值都非常重要。习惯于总是输入函数的正确返回值(如果你在函数的原型上预先设置了它)。

在你的情况下,你应该返回你正在使用的唯一布尔变量
return found;

答案 2 :(得分:-1)

//通过使用void返回类型

public static void diff(int x, int y) {

//计算差值

      int z = x - y; 

//此处打印差异而不是main()方法

     System.out.println(z);  

}