Java I';我试图用20个最近的用户输入填充一个数组。当我打印数组时,输出了错误的整数
我正在为一项任务做一个简单的游戏,除了这一部分之外,它是完整的,我似乎无法正确理解。游戏必须在一个数组中填入最近的20个招式,并在游戏结束后打印这些招式以及招式总数。例如,一个用户可能会移动25次,但只会打印移动6-25次。此外,数组长度必须为==20。我将插入相关方法:Java I';我试图用20个最近的用户输入填充一个数组。当我打印数组时,输出了错误的整数,java,arrays,int,Java,Arrays,Int,我正在为一项任务做一个简单的游戏,除了这一部分之外,它是完整的,我似乎无法正确理解。游戏必须在一个数组中填入最近的20个招式,并在游戏结束后打印这些招式以及招式总数。例如,一个用户可能会移动25次,但只会打印移动6-25次。此外,数组长度必须为==20。我将插入相关方法: public void fillMoveStore(int [] array, int into) { if (moveCount <= array.length) { array
public void fillMoveStore(int [] array, int into)
{
if (moveCount <= array.length)
{
array[moveCount - 1] = into;
}
else
{
for(int i = 1; i <= (array.length - 1); i++)
{
array[i] = array[i - 1];
}
array[array.length - 1] = into;
}
}
public void displayMoves(int [ ] array)
{
for(int i = 0; i <= (array.length -2); i++)
{
System.out.print(array[i] + outputText[34]);
}
System.out.print(array[array.length - 1] + outputText[33]);
}
public void fillMoveStore(int[]数组,int-into)
{
如果(moveCount只需使用ArrayList
,
每一步,只要使用
myArray.add(move);
if(myArray.size() > 20){
myArray.remove(0);
}
问题是这条线
array[i] = array[i - 1];
你把它向后移动了。你应该把元素向下移动以在数组的末尾腾出空间,但是你要把它们向上移动。试着反向移动
array[i-1] = array[i];
如果您使用的是集合,则使用deque更合适。但我假设分配需要数组。我还不熟悉ArrayList,但我将对此进行研究。谢谢你说得对!我想我缺少的一定是非常简单的东西。谢谢:)