我在Sorted Doubly Linked循环列表中查找元素时遇到问题。我需要在列表中找到0到10之间的值计数。// [0; 10]。 问题是它不允许我从主类中请求itv()。
case 2 :
System.out.println("[0;20] = "+ list.itv() +" \n");
break;
它显示错误。我该如何解决这个问题?
public void itv (){
Node ptr = start;
int size=0;
size = getSize();
int c = 0;
while (size != 0){
if(ptr.getData() >=0 && ptr.getData() <=20) {
c++;
}
ptr = ptr.getLinkNext();
size--;
}
System.out.println("[0;20] = " + c);
}
答案 0 :(得分:1)
您的函数返回void。要么像这样返回一个字符串:
public string itv()
{
Node ptr = start;
int size=0;
size = getSize();
int c = 0;
while (size != 0){
if(ptr.getData() >=0 && ptr.getData() <=20) {
c++;
}
ptr = ptr.getLinkNext();
size--;
}
//This line changes
return "[0;20] = " + c;
}
在调用之前和之后的主要打印中OR ,并且不进行上述更改:
System.out.print("[0;20] = ");
list.itv(); //List.itv() still has System.out.println(...)
break;