在计算机科学领域,我们目前正在研究ArrayLists并对其进行操作。我在一项家庭作业问题上遇到了麻烦。
您实际上可以在此网站here上查看作业:
我想知道为什么我的代码(在下面找到)不正确。
问题是:数组列表包含动物列表。如果动物是猫(即动物的描述中包含单词“ cat”或“ Cat”),则将其添加到新的数组列表中。返回新的猫数组列表。
但是,我将向您展示我被困住的地方。
public String[] catty(String[] animals) {
ArrayList<String> animalsList = new ArrayList<String>();
for (int i=0; i<animals.length; i++)
{
animalsList.add(animals[i]);
}
ArrayList<String> catsList = cattyB(animalsList);
String cats[] = new String[catsList.size()];
for (int i=0; i<catsList.size(); i++)
{
cats[i]=catsList.get(i);
}
return cats;
}
public ArrayList<String> cattyB(ArrayList<String> animalsList)
{
for (int i=0; i<animalsList.size(); i++)
{
if (animalsList.get(i).indexOf("Cat")>-1 || animalsList.get(i).indexOf("cat")>-1)
{
animalsList.add(animalsList.get(i));
}
return animalsList;
}
return animalsList;
}
最佳答案
您正在将猫添加到传递给函数的原始列表中。错了您应该创建一个新的猫,将猫添加到猫中然后归还,不是吗?去做 ...