Java 搜索数组列表时遇到困难
我这里有一个方法,它的工作是接收3个数组列表,并返回一个值 这3个数组列出了特定的作业Java 搜索数组列表时遇到困难,java,Java,我这里有一个方法,它的工作是接收3个数组列表,并返回一个值 这3个数组列出了特定的作业 用户输入的名称 这是一个arraylist,上面有我写的所有名字,这些是玩家的名字 对于每个名称,我都给出了一个特定的值。我用这个来交叉引用我的位置和我分配给那个名字的值 我知道第三个可能会让人费解,所以我试着把它分解一下。如果有人输入了一个名字,我会在我的playernames中查找这个名字,一旦我找到了那个位置,我就可以从playerNumber中找到那个位置来访问那个球员的排名。因为我把名字放在一个列表
我的问题是,返回的结果一直是0。我不知道为什么,请告知:我知道你是说
searkinglis
和nameNumber
具有有效表示行的匹配位置,names
只是用户提供的不匹配名称的任意列表
那么,您最致命的缺陷就在if(names.get(i).equals(searchingLis.get(i)){
行中
在其中,如果
searchingLis
处于相同的位置,您将只看到names
中的匹配项。因此,如果searchingList
Hold[“John”,“Mary”]和names
Hold[“Mary”],则不会有匹配项,因为您只查看位于位置0的searchingList
成员,而不是将searchingList
的每个成员与每个名称进行比较。您甚至没有返回语句。请提供一个返回语句并问一个明确的问题。嘿,很抱歉,我的复制和粘贴没有完成该部分。I f搞定了!请原谅为什么你不想将searchList和nameNumber合并到HashMap中的那个卑鄙的原因?它会让你的查找更容易。我会这么做,但我是一个初学者。我还没有学过这些,我只是想用我到目前为止学过的东西做一个项目。HashMap是我将要讨论的下一个主题之一。糟糕的标题。P请编辑以描述您的具体问题。o我不知道,谢谢,伙计。有没有关于如何解决问题的建议?这只是为了练习,对吗?我建议放弃这个项目,减少工作量。找到三种方法反复浏览列表,打印包含字母“a”的所有成员,打印未排序的数组,对其进行排序,然后打印已排序的版本,等等。保持学习任务的简单,并推迟一些创造力,直到您能够自信地创建POJO、集合、列表和地图。
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);
}