我正在尝试完成一个链接列表活动但是我有一条错误消息说"缺少返回语句"紧跟在这段代码的最后一个大括号之后。这有什么问题?
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++;
}
}
}
答案 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);
}