package LinkedList;
public class LinkedList {
public class Node {
Object data;
Node next;
//Constructor of Node
Node(Object data){
this.data = data;
}
//getter
Object getdata(){
return this.data;
}
Node getnext(){
return this.next;
}
//setter
void setnext(Node n){
this.next = n;
}
}
Node header = null;
int size = 0;
//Constructor of LinkedList
public LinkedList(){};
//return size
int size(){
return size;
}
//return that list is empty or not
boolean isEmpty(){
if (size != 0){
return false;
}
return true;
}
Object first(){
return header.getdata();
}
Object Last(int size){
Node c;
for(int i=0 ;i<size-1 ;i++){
c = header.getnext();
if (i == size-2){
Object returndata = c.getdata();
return returndata;
}
}
}
}
first()
函数在eclipse上没有任何错误。
但在last()
函数中,我得到的错误是此方法必须返回Object类型的结果。如何解决这个错误?
答案 0 :(得分:1)
问题是Last()并不总是返回一个值,即使它声称。每个代码路径都必须返回。
Object Last(int size){
Node c;
for(int i=0 ;i<size-1 ;i++){
c = header.getnext();
if (i == size-2){
Object returndata = c.getdata();
return returndata;
}
}
return null;
}
答案 1 :(得分:1)
您必须在for
循环之外还有一个return语句。只有在执行循环并满足条件时才会运行。
如果在循环之外没有任何内容可以返回,请添加return null;
作为最后一个语句。