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
吗?嗯,数组和列表是存储东西的基本数据结构。我想不出还有什么东西可以储存起来,以备将来使用。