有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java学校练习

因此,我必须编写一个名为“insert”的新类方法insert所做的是,它接受参数Item[]数组、Item newitem和int k,并将新项插入索引k处的数组中

部分代码我可以更改,部分代码我无法更改。以下是我无法更改的部分:

原来的指示:

为接受三个参数(Item[]数组、Item newItem和int k)的Item类编写一个新的类方法insert,并将newItem插入索引k处的数组,丢弃数组的最后一项(即最初位于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 );
  }
}

我得到一个“找不到符号”错误

更新:

我这样试过:

公共静态void插入(项[]数组、项newItem、int k)

{

对于(int i=0;i<;array.length()-1;(i++){

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

}

}

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


共 (2) 个答案

  1. # 1 楼答案

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

  2. # 2 楼答案

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