gpt4 book ai didi

JAVA:在数组列表中搜索项目仅返回第一项

转载 作者:行者123 更新时间:2023-11-30 07:05:50 25 4
gpt4 key购买 nike

我有一个 Java 程序,要求用户输入五个字符串。我的目标是在列表中搜索包含“a”的特定元素。运行代码可以看出,它只返回第一次出现的包含元素“a”的字符串。列表 例如:(aleah、alex、arthur、john、eerie)。

获得的输出:aleah。

预期输出:它应该返回 aleah、alex 和 arthur。

我已将我的代码粘贴在下面,请查看它。

public ArrayList<String> searchName(String sn){ 
// String sn is the the search for character value (e.g 'a' or 'aa')
ArrayList<String> searches = new ArrayList<>();

for(String n : names){
// names list is declared in the other method and handles all the name values
// loop through the list. Am i using the right loop?
if(n.contains(sn)){
// if a specific index in the list contains the sn
searches.add(n);
// stored in in the new list searches
displaySearches(searches);
// called displaySearches and passed the arralist searches.
}

else
System.out.println("No results for " + sn);
break;
}


return searches;




}

public void displaySearches(ArrayList<String> searches){

for(String s: searches){
System.out.println(s);
// populates all the search results from the list.

}


}

最佳答案

问题出在这里:

    else
System.out.println("No results for " + sn);
break;

设置 break 语句意味着它将中断整个循环,而不检查任何其他项目 - 并且它总是在数组中的第一个字符串之后执行此操作,因为您没有放置任何括号中的 else

删除 break; 应该可以解决您的问题。

关于JAVA:在数组列表中搜索项目仅返回第一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40147548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com