Java 将元素推入具有多个堆栈的数组中的堆栈将元素推入所有堆栈
当我试图将元素(卡片)推入堆栈时遇到一个小问题。 我得到了一个包含4个堆栈的数组,表示4堆卡片。但是当我试着将卡片推入其中一个堆栈时,它会将所有的堆栈都推入。我打赌这里面肯定有一些愚蠢的错误,但我的大脑不是很活跃 无论如何,代码: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
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
字段来存储将作为堆栈结构的元素。确保此字段不是静态的
,否则它将绑定到类,并且该类的所有实例将共享同一数组、列表
或任何对象
更多信息:
stacks[0].push(currentCard);