Java 持续收集输入,直到满足条件?

Java 持续收集输入,直到满足条件?,java,loops,Java,Loops,我试图了解收集用户输入和循环直到条件。 我想循环扫描仪,直到用户输入0,但是,我需要存储每个输入的整数,以便以后可以访问使用。最难的是,我不能使用数组。你只需要做一些类似的事情 List mylist = new ArrayList(); //in java. other wise you can create array[size] int input = 1; while(input!=0) { /* input number from user here */ if(input!

我试图了解收集用户输入和循环直到条件。
我想循环扫描仪,直到用户输入0,但是,我需要存储每个输入的整数,以便以后可以访问使用。最难的是,我不能使用数组。

你只需要做一些类似的事情

List mylist = new ArrayList(); //in java. other wise you can create array[size]
int input = 1;
while(input!=0)
{
  /* input number from user here */

  if(input!=0)
  mylist.add(input);

}

这里有一种简单的方法,可以循环用户输入,直到输入
0

Scanner console = new Scanner(System.in);
boolean loop = true;
String input;
while(loop) {
    input = console.nextLine();
    //Add input to a data structure
    if (input.equals("0")) {
        loop = false;
    }
}
至于将用户输入添加到数据结构,您说过不能使用数组。a或者a怎么样。即使是a或a也行。您是否考虑过使用这些数据结构中的任何一种

下面是一个使用列表的基本示例:

List<String> aList = new ArrayList<String>();
aList.add(input);
List aList=new ArrayList();
列表.添加(输入);
下面是如何使用堆栈:

Stack<String> stk = new Stack<String>();
stk.push(input);
Stack stk=new Stack();
stk.push(输入);
也许最有效的方法是使用哈希集:

Set<String> set = new HashSet<String>();
set.add(input);
Set Set=newhashset();
set.add(输入);

在这里使用数组有点棘手,因为您不知道用户要输入的元素数量。用户用完初始容量并复制现有输入元素后,您始终可以编写代码来创建容量更大的新数组,但使用
List
会容易得多

    Scanner scanner = new Scanner(System.in);

    List<Integer> input = new ArrayList<>();
    int nextInt = Integer.MIN_VALUE;
    while((nextInt = scanner.nextInt()) != 0){
        input.add(nextInt);
    }
Scanner Scanner=新的扫描仪(System.in);
列表输入=新的ArrayList();
int nextInt=Integer.MIN\u值;
而((nextInt=scanner.nextInt())!=0){
输入。添加(nextInt);
}

如果您真的想使用数组,请参见此问题。Answer解释了如何创建新数组和复制元素

你使用哪种语言?这是Java语言吗?另外,如果你不能使用数组…你能使用什么?是的,这是Java Sorry如果你不能使用数组,你可以使用
List
吗?嗯,数组和列表是存储东西的基本数据结构。我想不出还有什么东西可以储存起来,以备将来使用。