将创建ArrayList的程序

时间:2011-02-25 21:56:26

标签: java arraylist

我在启动这个程序时遇到了麻烦,我想编写一个程序来创建一个ArrayList,向用户询问10个数字。然后这将被放入数组。然后在列表完成后导航它,如果数字甚至从ArrayList中删除它并将其复制到整数堆栈。

import java.io.* ;
import java.util.*;

public class Test {

public static void main(String[] args){


    Scanner input = new Scanner (System.in);

    ArrayList<Integer> integers = new ArrayList<Integer>();

    System.out.print ("Enter Number: \n");

    for (int i = 0; i < 10; i++){
        integers.add(input.nextInt());
        }

    for (int i= 0; i < 10 ; i++){
       int item = myListIterator.getNext();
        if(item % 2 == 0)
            {
                myListIterator.remove(); //removes it from the ArrayList
                myStack.push(item); //puts it into the stack
            }
  }
  Stack<Integer> st1;
  st1 = new Stack <Integer> ();



}
}

3 个答案:

答案 0 :(得分:0)

查看官方Lesson: The "Hello World!" Application以开始使用基本程序。

然后我建议您使用Scanner来阅读用户输入。你可以像这样初始化它

Scanner scanner = new Scanner(System.in);

然后使用Scanner.nextInt方法从用户读取数字。 (看看official tutorial on The for Statement,您可能会想出如何做十次。)

像这样创建ArrayList

ArrayList<Integer> integers = new ArrayList<Integer>();

并使用ArrayList方法将提供的数字放在add中。

然后我建议您使用Iterator<Integer>(您可以从integers.iterator()获取,并在iterator.hasNext()时循环,如果iterator.next()是偶数,你做iterator.remove()


int[] numbers = {System.in};
for (int item : numbers) {
    System.out.println("Count is: " + item);

看起来不太好。

尝试类似

的内容
for (int i = 0; i < 10; i++)
    integers.add(input.nextInt());

答案 1 :(得分:0)

到目前为止,您已收到用户的意见。现在您需要执行以下操作:

  1. 检查current值是even,这是modulus操作
  2. 如果currentevenpush currentStackpop来自ArrayList
  3. 将家庭作业的名称更改为非ArrayList的内容,除非您的教授要求
  4. 要验证Stack只有even个值,您可以决定pop关闭所有内容并打印该信息

答案 2 :(得分:0)

您已经拥有大部分代码。您只需将它们添加到堆栈中即可。可以在这里找到java Stack类:

http://download.oracle.com/javase/6/docs/api/java/util/Stack.html

因此,构建ArrayList只需查找整数,删除它们,然后将其添加到堆栈中。注意

if (i %2==0)

是不正确的,因为我们并不关心“我”是否平衡,我们关心的是整数。我(i)是偶数。要遍历ArrayList,您应该使用Iterator。使用手动索引来查找偶数整数,尽管可能很容易出错(因为你不断改变ArrayList的大小!)可以在这里找到帮助:

http://download.oracle.com/javase/1.5.0/docs/api/java/util/Iterator.html

所以你会有

int item = myListIterator.getNext();
if(item % 2 == 0)
{
    myListIterator.remove(); //removes it from the ArrayList
    myStack.push(item); //puts it into the stack
}
你的循环中的

。堆栈的初始化非常简单,如果这是一个家庭作业,你应该知道如何做到这一点,所以我会让你弄明白。