Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将元素推入具有多个堆栈的数组中的堆栈将元素推入所有堆栈_Java_Arrays_Stack - Fatal编程技术网

Java 将元素推入具有多个堆栈的数组中的堆栈将元素推入所有堆栈

Java 将元素推入具有多个堆栈的数组中的堆栈将元素推入所有堆栈,java,arrays,stack,Java,Arrays,Stack,当我试图将元素(卡片)推入堆栈时遇到一个小问题。 我得到了一个包含4个堆栈的数组,表示4堆卡片。但是当我试着将卡片推入其中一个堆栈时,它会将所有的堆栈都推入。我打赌这里面肯定有一些愚蠢的错误,但我的大脑不是很活跃 无论如何,代码: stacks = new CardStack[4]; //array with 4 slots // Creating 4 stacks and placing each in one slot in the array for (int i =0; i

当我试图将元素(卡片)推入堆栈时遇到一个小问题。 我得到了一个包含4个堆栈的数组,表示4堆卡片。但是当我试着将卡片推入其中一个堆栈时,它会将所有的堆栈都推入。我打赌这里面肯定有一些愚蠢的错误,但我的大脑不是很活跃

无论如何,代码:

stacks = new CardStack[4];   //array with 4 slots


   // Creating 4 stacks and placing each in one slot in the array
for (int i =0; i<4; i++){    
        CardStack<Card> stack = new CardStack<Card>(i+1);
        stacks[i] = stack;
    }

它似乎将卡推入所有堆栈,而不仅仅是堆栈数组中索引为0的堆栈

看起来您在
CardStack
中有一个数组或
List
字段来存储将作为堆栈结构的元素。确保此字段不是
静态的
,否则它将绑定到类,并且该类的所有实例将共享同一数组、
列表
或任何对象

更多信息:


谢谢,修好了:)不客气。别忘了。显示CardStack的代码。
stacks[0].push(currentCard);