java - 如何向 String 数据类型的 ArrayList 添加数据

标签 java arraylist

这只是我挑战自己解决的一个简单问题:将名称添加到 ArrayList。我认为问题与我用来填充 ArrayList 和 Scanner 的 while 循环有关。

我尝试制作两个单独的 Scanner对象,但循环仍然在不应该终止的时候终止。

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

public class MyArrayLiat {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        String finished = "n";
        Scanner keyboard = new Scanner(System.in);

        ArrayList<String> myArrayList = new ArrayList<String>();

        while(finished == "n")
        {
            System.out.println("Enter data: ");
            myArrayList.add(keyboard.nextLine());
            System.out.println("Are you finished? y or n");
            finished = keyboard.nextLine();

        }
        System.out.println("myArrayList: " + myArrayList);

    }

}
Enter data: 
Trevor
Are you finished? y or n
n
myArrayList: [Trevor]

它应该继续获取名称,直到我输入 n,但它会在仅输入第一个名称后终止。

最佳答案

比较对象时必须始终使用equals,而不是==。在 while 条件下尝试 finished.equals(“n”)

关于java - 如何向 String 数据类型的 ArrayList 添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57237812/

相关文章:

java - 如何确保来自 JNDI 的 LDAP 连接通过 SSL

java - 如何使用 Intent 在 Activity 之间传递和操作对象

java - Android调用带有外部参数的onClickListener内部方法

java - 在 java/android 中使用 arraylist

Java - 删除 ArrayList 中的重复项

android - arraylist返回错误的索引android

java - 生成所有可能的有向无环图

java - String.format 和 StringBuilder 之间的性能

Java:每 X 秒执行一次操作

java - 当子字符串多于值时,将重复出现的子字符串替换为数组值