我在启动这个程序时遇到了麻烦,我想编写一个程序来创建一个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> ();
}
}
答案 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)
到目前为止,您已收到用户的意见。现在您需要执行以下操作:
current
值是even
,这是modulus
操作current
为even
,push current
为Stack
而pop
来自ArrayList
ArrayList
的内容,除非您的教授要求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
}
你的循环中的。堆栈的初始化非常简单,如果这是一个家庭作业,你应该知道如何做到这一点,所以我会让你弄明白。