所以,我必须编写一个名为“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]”。
答案 0 :(得分:0)
在您的代码中,我没有定义。既不是。你需要在这里编写一些代码来将k之后的所有元素移动到数组的末尾。
答案 1 :(得分:0)
这永远无法编译。原因是您从未声明名为“a”的变量或名为“i”的变量