int e=0;
int Compatibility=0;
int numOfDisagreements=0;
int tsize=likes.size()+dislikes.size();
int numOfCommonLikes=0;
int numOfCommonDislikes=0;
while(e<tsize){
if (user.likes.get(e).equals(Stranger.likes.get(e))){
if ((Stranger.howDoYouLike(likes.get(e)))== 1 && user.howDoYouLike(likes.get(e))==1)
{
numOfCommonLikes=numOfCommonLikes+1;
}
}
else if (user.dislikes.get(e).equals(Stranger.dislikes.get(e))){
if ((Stranger.howDoYouLike(dislikes.get(e)))== -1 && user.howDoYouLike(likes.get(e))==-1)
{
numOfCommonDislikes=numOfCommonDislikes+1;
}
我得到一个nullpointer错误,我不知道这意味着什么,但有人可以告诉我这个代码有什么问题,我看起来真的很难
else
{
numOfDisagreements=numOfDisagreements+1;
}
e+;
}
Compatibility=(numOfCommonLikes+ numOfCommonDislikes)- numOfDisagreements;
return Compatibility;
}
答案 0 :(得分:0)
你在初始化你的名单吗?我看到了这句话:
int tsize=likes.size()+dislikes.size();
但没有证据证明您曾创建任何列表对象。 NullPointerException是指您尝试使用尚未创建的对象时。例如,如果我尝试这样做:
List<Object> objects;
objects.size();
然后我会得到一个NullPointerException。我需要像这样创建列表:
List<Object> objects;
objects = new List<Object>();
在我尝试调用任何属于它的方法之前。