Java 将创建ArrayList的程序

Java 将创建ArrayList的程序,java,arraylist,Java,Arraylist,我在启动这个程序时遇到了问题,我想写一个程序来创建一个ArrayList,要求用户输入10个数字。然后将其放入数组中。然后在创建列表后,对其进行导航,如果某个数字是偶数,则将其从ArrayList中删除,并将其复制到整数堆栈中 import java.io.* ; import java.util.*; public class Test { public static void main(String[] args){ Scanner input = new Scanner (

我在启动这个程序时遇到了问题,我想写一个程序来创建一个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> ();



}
}
import java.io.*;
导入java.util.*;
公开课考试{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
ArrayList整数=新的ArrayList();
System.out.print(“输入编号:\n”);
对于(int i=0;i<10;i++){
add(input.nextInt());
}
对于(int i=0;i<10;i++){
int item=myListIterator.getNext();
如果(项目%2==0)
{
myListIterator.remove();//将其从ArrayList中删除
myStack.push(item);//将其放入堆栈中
}
}
堆栈st1;
st1=新堆栈();
}
}

看看官方网站,开始一个基本程序

然后我建议您使用
扫描仪
读取用户输入。你可以这样初始化它

Scanner scanner = new Scanner(System.in);
ArrayList<Integer> integers = new ArrayList<Integer>();
然后使用
Scanner.nextInt
方法从用户处读取数字。(看一看,您可能会想出十次如何做到这一点。)

像这样创建ArrayList

Scanner scanner = new Scanner(System.in);
ArrayList<Integer> integers = new ArrayList<Integer>();
看起来不太好

试试像这样的东西

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

到目前为止,您已经获得了用户的输入。现在,您需要执行以下操作:

  • 检查
    当前
    值是否为
    偶数
    ,这是一个
    模数
    操作
  • 如果
    当前
    偶数
    将当前
    推到
    堆栈上
    并从
    阵列列表中弹出它
  • 将家庭作业的名称更改为非
    ArrayList
    的名称,除非这是教授要求的
  • 要验证
    堆栈
    仅具有
    偶数
    值,您可以决定
    弹出
    所有内容并打印该信息

  • 您已经准备好了大部分代码。您只需要将它们添加到堆栈中。java堆栈类可在以下位置找到:

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

    if (i %2==0)
    
    是不正确的,因为我们不关心“i”是偶数,我们关心的是整数。要循环遍历ArrayList,应该使用迭代器。使用手动索引查找偶数整数虽然可能,但很容易出错(因为您不断更改ArrayList的大小!)可以在以下位置找到帮助:

    所以你会

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

    在你的循环中。堆栈的初始化非常简单,如果这是一个家庭作业,你应该知道怎么做,所以我会让你自己去弄清楚。

    到目前为止你有什么…听起来也像家庭作业,如果是,请将其标记为家庭作业。你有什么问题?好吧,现在我什么都没有。我不知道我是否需要为这个或什么上课。我对@hvgotcodes非常困惑,我绝对同意你的观点——让我们看看你到目前为止有什么。另外,您必须定义自己的堆栈类,还是可以使用java.util.stack?我主张使用java.util.Deque而不是传统的堆栈类。它说我没有为ArrayList设置参数。不要命名您的类
    ArrayList
    。这有点像被拿走了。。。把你的班级改名为
    作业
    或别的什么。@aioobe理想的情况是他的教授没有让他这样命名现在我该如何删除偶数并将其放入堆栈对,现在关于模运算的if语句呢……我该如何删除偶数并将其放入堆栈?堆栈我应该将其放入哪里?我需要创建一个新的类吗?对不起,我真的很困惑Stack已经是一个java类了。您只需要说“Stack myStack=new Stack()”之类的话。它就像一个ArrayList。