简单的java arraylist编程问题
我正在尝试判断是否在列表中找到了该字符串。 例如,如果我把Max放在我的列表中并搜索Max,它应该说“Max已找到”,如果没有,那么它应该说“Max未找到” 我不知道如何从这里得到答案简单的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
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()
调用只用于打印某些内容,但您并没有在任何地方的变量中“记住”这些内容。你怎么知道你在检查什么?我不知怎么地认为我必须使用输入而不是列表,但我错了。谢谢你的帮助,明白了。如上所述,我必须保存它。