Java学校运动

时间:2014-03-01 21:02:45

标签: java arrays int arguments system.out

所以,我必须编写一个名为“insert”的新类方法。插件的作用是,它采用参数Item [] array,Item newitem和int k,并将新项插入到索引为k的数组中。

这部分代码我可以改变,部分代码我不能改变。这是我无法改变的部分:

最初的说明:

为Item类编写一个新的类方法insert,它接受三个参数 - 一个Item []数组,一个Item newItem和一个int k - 并将newItem插入到索引为k的数组中,丢弃最后一项array(即最初在index array.length - 1处的项目)。

这是不可更改的代码:

public class Item
{
  private int myN;

  public Item( int n )
  {
    myN = n;
  }

  public String toString()
  {
    return "Item:" + myN;
  }

  public int getN() 
   {
    return myN;
  }

  public static Item[] makeItemArray( int len )
  {
    Item[] a = new Item[ len ];
    int i;
    for ( i = 0 ; i < len ; i++ )
      a[ i ] = new Item( i );
    return a;
   }

  public static void displayArray( Item[] array )
  {
    for ( Item item : array )
      System.out.println( item );
  }

//这个小部分我可以改变:

public static void insert( Item[] array, Item newItem, int k )

{

  a[i] = a[i + 1];

}

//这就是我可以改变的全部

}

public class MainClass
{
  public static void main( String[] args )
  {
    Item[] array = Item.makeItemArray(  );

    System.out.println( "Before: " );
    Item.displayArray( array );

    // make a new Item
    Item newItem = new Item( 99 );

    // insert the new item
    Item.insert( array, newItem,  );

    System.out.println( "\nAfter: " );
    Item.displayArray( array );
  }
}

我收到“无法找到符号”错误。

更新:

我试过这样:

public static void insert(Item [] array,Item newItem,int k)

{

for(int i = 0; i&lt; array.length() - 1; i ++){

  array[i] = array[i-1];

}

}

我仍然得到相同的错误,只是在错误消息中使用for循环的第一行而不是“array [i] = array [i-1]”。

2 个答案:

答案 0 :(得分:0)

在您的代码中,我没有定义。既不是。你需要在这里编写一些代码来将k之后的所有元素移动到数组的末尾。

答案 1 :(得分:0)

这永远无法编译。原因是您从未声明名为“a”的变量或名为“i”的变量