嘿,所以我有这个家庭作业,我对其中一种方法有疑问。我想要提示而不是实际的答案/代码。
所以我有一个名为 HorseBarn 的类,它与一组马(马是类型)混在一起。我的问题是我在使用 consolidate 方法时遇到了问题。
合并之前数组的样子:a、b、c、d 是马
|a|空|b|空|c|d|
合并后数组的样子:
|a|b|c|d|空|空|
所以我的逻辑是做一个嵌套的for循环。第一个循环将搜索空值,一旦第一个循环找到空值,第二个循环将寻找一匹马然后与之交换。然后第二个循环将结束并返回到第一个循环。所以这就是我现在所拥有的,但它不起作用(它只是终止)。是我的逻辑错误还是我的语法导致了问题?
public void consolidate()
{
int j = 0;
for(int i = 0; i < spaces.length;i++)
{
if( spaces[i] == null)
{
for(j = i; j < spaces.length && spaces[j] == null; j++)
{
}
spaces[i] = spaces[j];
spaces[j] = null;
}
}