简单的java arraylist编程问题

简单的java arraylist编程问题,java,Java,我正在尝试判断是否在列表中找到了该字符串。 例如,如果我把Max放在我的列表中并搜索Max,它应该说“Max已找到”,如果没有,那么它应该说“Max未找到” 我不知道如何从这里得到答案 import java.util.ArrayList; import java.util.Scanner; public class OnTheList { public static void main(String[] args) { Scanner scanner = new S

我正在尝试判断是否在列表中找到了该字符串。 例如,如果我把Max放在我的列表中并搜索Max,它应该说“Max已找到”,如果没有,那么它应该说“Max未找到”

我不知道如何从这里得到答案

import java.util.ArrayList;
import java.util.Scanner;

public class OnTheList {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        ArrayList<String> list = new ArrayList<>();
        while (true) {
            String input = scanner.nextLine();
            if (input.equals("")) {
                break;
            }

            list.add(input);

        }

        System.out.print("Search for? ");
        System.out.print(scanner.nextLine());


        if (list.contains(list)) ----> I think this is the part where I am not getting it
            System.out.println(" was found!");
        else 
            System.out.println(" was not found");

    }
}
import java.util.ArrayList;
导入java.util.Scanner;
公开讲座{
公共静态void main(字符串[]args){
扫描仪=新的扫描仪(System.in);
ArrayList=新建ArrayList();
while(true){
字符串输入=scanner.nextLine();
if(输入。等于(“”){
打破
}
列表。添加(输入);
}
系统输出打印(“搜索?”);
System.out.print(scanner.nextLine());
如果(list.contains(list))--->我想这是我没有得到它的部分
System.out.println(“找到了!”);
其他的
System.out.println(“未找到”);
}
}

您可以存储要搜索的单词,在这里您可以使用
scanner.nextLine()
请求它并打印它,但没有保存它。然后使用保存单词的变量,签入
列表

System.out.print("Search for? ");
String toSearch = scanner.nextLine();

if (list.contains(toSearch)) 
    System.out.println(toSearch + " was found!");
else 
    System.out.println(toSearch + " was not found");

在这里,您没有存储从搜索中获得的用户输入,您正在尝试搜索列表中的一个元素,但将列表作为contains()方法的参数传递,因此,首先存储变量的用户输入,通过将其作为参数传递给contains()来搜索该输入方法,并确保在程序结束时关闭scanner变量,以避免如下所示的内存泄漏。

import java.util.ArrayList;
import java.util.Scanner;

public class OnTheList {

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);

    ArrayList<String> list = new ArrayList<>();
    while (true) {
        String input = scanner.nextLine();
        if (input.equals("")) {
            break;
        }

        list.add(input);

    }

    System.out.print("Search for? ");
    String toSearch = scanner.nextLine(); 


    if (list.contains(toSearch))  
        System.out.println(" was found!");
    else 
        System.out.println(" was not found");

    scanner.close();

}
}
import java.util.ArrayList;
导入java.util.Scanner;
公开讲座{
公共静态void main(字符串[]args){
扫描仪=新的扫描仪(System.in);
ArrayList=新建ArrayList();
while(true){
字符串输入=scanner.nextLine();
if(输入。等于(“”){
打破
}
列表。添加(输入);
}
系统输出打印(“搜索?”);
String-toSearch=scanner.nextLine();
if(list.contains(toSearch))
System.out.println(“找到了!”);
其他的
System.out.println(“未找到”);
scanner.close();
}
}

提示1:
list.contains(list)
正在检查列表是否包含自身。提示2:您最后的
scanner.nextLine()
调用只用于打印某些内容,但您并没有在任何地方的变量中“记住”这些内容。你怎么知道你在检查什么?我不知怎么地认为我必须使用输入而不是列表,但我错了。谢谢你的帮助,明白了。如上所述,我必须保存它。