gpt4 book ai didi

Java向数组列表添加未知项

转载 作者:太空宇宙 更新时间:2023-11-04 07:06:50 24 4
gpt4 key购买 nike

嗨,我有一个简单的问题。

我在将 input.txt 文件中的项目添加到新列表时遇到问题。

我有一个包含 28 个项目的文件,其中包含名称和编号,其中 27 个是我创建的类别和列表的一部分。但是还有另一种应该被处理并包含在一个名为“未知项目”的新类别中,该类别应该包括存在或可能添加的不属于这些列表的任何项目,包括拼写错误。

无论如何,我为我的类别和列表创建了 ArrayList。这是我的代码,它工作正常:

for(Items i : list) {
for(String name: cat1) {
if(i.name.equalsIgnoreCase(name))
lista1.add(i);
}

但是当我尝试对未知项目列表进行相同的操作时,它不起作用,现在我得到的与我需要的完全相反,这是我整理出来的最接近的结果,它包括 27 个项目,但不包括我需要的项目,当我尝试反转它时,它就搞砸了,我只是不知道我做错了什么,这就是我所拥有的:

next:
for(String name: catAll){
if(!i.name.equalsIgnoreCase(name)) continue next;

listUnknow.add(i);
}

如果有人能帮助我,我将不胜感激。

谢谢

最佳答案

您正在寻找这样的东西:

for(Items i : list) {
boolean unknown = true;
for(String name: cat1) {
if(i.name.equalsIgnoreCase(name)) {
lista1.add(i);
unknown = false;
break;
}
}
if(unknown) {
listUnknown.add(i);
}
}

您的代码的问题在于反转并不像您想象的那样工作。如果你的cat1包含“a”,“b”并且你当前的项目是“b”,那么第一次检查将返回true。毕竟, !"b".equalsIgnoreCase("a") 是正确的。您需要检查 cat1 中的所有项,然后才能说它是未知的。

关于Java向数组列表添加未知项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21231665/

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