你好,我想要,我制作了一个程序,该程序存储名称并在写入结束时停止"stop"程序显示存储在此的名称



我制作了一个程序,它存储名称,并在写入"stop"结束时停止,程序显示存储在其中的名称。。。。。。这个代码显示你输入的最后一个名字我想显示所有的名字

public static void main(String[]args({

  Scanner sc = new Scanner(System.in);       
     System.out.println("Enter The name : ");
     String name = sc.next(); 
     while (!"stop".equals(name)){
         System.out.println("please entrr new name :  ");
         name = sc.next();

}
     System.out.println(name);
}
  }

存储数据的问题是实际上必须将数据存储在某个地方;(。您可以使用StringArray或几乎任何类型的Collection。在这种情况下,我认为简单的ArrayList是最好的。所以你创建了一个列表:

List<String> names = new ArrayList<>();

然后使用add()方法将元素追加到列表中。例如:

names.add(name);

您可以使用内置toString()方法轻松打印输出,如下所示:

System.out.println(names);

或者遍历列表并自己打印。请注意,您可能不想在列表中存储"stop"字符串。

public static void main(String[] args) {
        ArrayList<String> a = new ArrayList<String>(); // declaring dynamic array
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter The name : ");
        String name = sc.next();
        int i = 0;
        while (!"stop".equals(name)) {
            System.out.println("please entrr new name :  ");
            name = sc.next();
            a.add(name); // each time you add your name to the array and store 
            i++;
        }
        for (int j = 0; j < a.size(); j++)
            System.out.println(a.get(j));
    }

勾选此项,它应该可以工作,因为在您的代码中,您不会将名称存储在任何地方,每次都只覆盖它,但使用ArrayList,您可以存储您的名称,然后在任何地方使用它。

最新更新