【问题标题】:Java school exerciseJava学校练习
【发布时间】:2014-04-02 22:34:25
【问题描述】:

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

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

原始说明:

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

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

}

}

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

【问题讨论】:

  • 你从哪里得到这个错误?
  • insert 方法中的i 和a 是什么?那是你的问题...

标签: java arrays int arguments system.out


【解决方案1】:

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

【讨论】:

  • 什么样的代码可以将 k 之后的所有元素都移动一个?我只是想知道从概念上来说,我该怎么办?
  • 一个 for 循环可以做到这一点,但首先移动最后一个,这样你就不会覆盖每一个。 for(int i = ... ; i > ... ; --i) 数组[i] = 数组[i-1];
【解决方案2】:

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

【讨论】:

  • 我无法编辑的部分没有定义。并且在他们编辑之前没有任何部分是可编辑的。我可以在那段代码之后在代码中定义一些东西吗?
猜你喜欢
  • 2020-12-19
  • 2015-05-01
  • 2018-04-05
  • 1970-01-01
  • 1970-01-01
  • 2012-08-20
  • 2013-04-06
  • 2011-12-04
  • 2016-06-28
相关资源
最近更新 更多