我这里有一个方法,它的工作是接收3个数组列表,然后返回一个值。
3个ARRRAY LIST特定工作
我知道第三个可能会让人难以理解,所以不好尝试分解一下。所以说有人输入一个名字,我在我的播放器名称中查找该名称,一旦找到该位置,我就可以从playerNumber访问该玩家排名。因为我将名字放在一个列表中,而将数字放在另一个列表中。位置匹配两个列表中的名称和数字
我的问题是我一直得到0,这是我的结果。我不知道为什么,请告知:<
** unrealated:**为什么我使用arraylists的原因是因为这是我在java中学到的。随着时间的推移,我将学习新的主题,我只是尽我所能利用我的技能做一个有趣的项目。很抱歉,如果它真的很棒,这是我现在能做的最好的
public static int meth(List names, List searchingLis, List nameNumber){
int totalGive=0;
int totalRecieve=0;
int sizer=names.size()-1;
int ret=-1000;
int makeSureAllPlayerAdded=sizer;
int returningValue=0;
do{
for(int i=0;i<names.size();i++){
int currenSearchRanking=(int) nameNumber.get(i);
if(names.get(i).equals(searchingLis.get(i))){
int valueToLookUpInNames=i;
int AddingValue=(int) nameNumber.get(valueToLookUpInNames);
returningValue=returningValue+AddingValue;
System.out.println(returningValue+"ret vales");
makeSureAllPlayerAdded--;
}
}
return returningValue;
}while(makeSureAllPlayerAdded<=0);
}
答案 0 :(得分:0)
我知道您说searchingLis
和nameNumber
具有有效代表行的匹配位置,names
只是用户提供的不匹配名称的任意列表。
然后,你最致命的缺陷就在if(names.get(i).equals(searchingLis.get(i))){
行。
在其中,如果names
处于同一位置,您只会看到来自searchingLis
的匹配。所以,如果searchingList
持有[“John”,“Mary”]和names
持有[“Mary”],那么就没有匹配,因为你只看到searchingList
成员位置0,而不是将searchingList
的每个成员与每个名称进行比较。