【发布时间】:2021-04-28 13:19:17
【问题描述】:
我尝试解决这个 ArrayList 问题,但没有成功
无论如何,在 while 循环中,我必须将新的字符串项添加到 ArrayList。
如果有重复的项目,应该有一条消息说重复项目。
While 循环会被单词 END 中断
public static void main(String[] args) {
ArrayList<String> lista1 = new ArrayList<>();
Scanner in = new Scanner(System.in);
while(true) {
System.out.println("enter words: ");
lista1.add(in.nextLine());
if(lista1.containsAll(lista1)){
System.out.println("Repeated words");
}
if(lista1.contains("end")) {
break;
}
}
for(String data:lista1)
System.out.println(data);
}
【问题讨论】:
-
"
lista1.containsAll(lista1)" 总是正确的,不是吗? -
您应该在插入新项目之前检查
-
当用户输入单词时,while 循环检查当前单词是否已经在列表中。也许我对这个 containsAll 有误。今天是我使用 ArrayLists 的第一天,所以我仍然对它们感到困惑
-
好的,但是如果您在检查之前将其添加到列表中,根据定义,当您检查时它将始终在列表中,不是吗?你应该把这个词读成一个字符串,用
lista1.contains(theWord)检查它是否在那里,如果它返回false,把这个词添加到列表中。 -
费德里科谢谢你的回答