gpt4 book ai didi

java - 如何使用输入来获取列表中的特定元素?

转载 作者:行者123 更新时间:2023-12-01 09:49:47 25 4
gpt4 key购买 nike

我是 Java/编程新手,我正在尝试编写一个简单的程序,如果该元素等于某些用户输入,则从列表中获取该元素。我使用 for 循环和 if 语句来实现此目的,但即使用户输入和元素匹配,编程也不会将元素打印到屏幕上。如果有人可以解释为什么这不起作用,将不胜感激。干杯

public static void main(String[] args){

ArrayList<String> names = new ArrayList<String>();
String tempObject;
String findName;

names.add("John");
names.add("Ronny");
names.add("Gona");
names.add("Gina");

Scanner Input = new Scanner(System.in);
System.out.print("Search list for: ");
findName = Input.nextLine();

for (int i = 0; i < names.size(); i++){
tempObject = names.get(i);

if (tempObject == findName){
System.out.print("\n" + tempObject);
}
}
}

最佳答案

给你:

if (tempObject.equals(findName)){
System.out.print("\n" + tempObject);
}

对于对象,即String,始终使用方法equals(),因为==将比较引用,而不是值(或什么)在 equals() 方法中设置 - 在 String 中,它将比较大小,然后比较同一位置的每个 char 如果它们相等 - 另外,如果您需要,您有一个名为 equalsIgnoreCase 的方法 - 有时,最好将其用于用户输入)。

对于基元,您必须使用 ==

关于java - 如何使用输入来获取列表中的特定元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37672912/

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