从数组中删除从键盘输入中读取的特定元素

时间:2015-12-04 19:12:14

标签: java arrays

public static int removeElement(int[] array,int size,Scanner in)throws IOException
{
  System.out.println("Enter the number to remove");
  int removeElement = in.nextInt();
  boolean found = false;
  int index = 0;
  for(int i=0; i<size && !found; ++i)
  {
    if(array[i] == removeElement)
      found = true;
      ++index;
  }
  array.splice(index,1);

我在array.splice(index,1);上出现了错误

  

无法在数组类型int []

上调用splice(int,int)

1 个答案:

答案 0 :(得分:0)

你可以这样做:

  System.out.println("Enter the number to remove");
  int removeElement = in.nextInt();

  List<Integer> list = new ArrayList<Integer>(array.length);

  for (int number : array) {
      if (number != removeElement) {
          list.add(number);
      }
  }

  array = new int[list.size()];

  for (int i = 0; i < list.size(); i++) {
      array[i] = list.get(i);
  }

请注意,array中所做的更改(例如,分配新的数组实例)是&#34;可见&#34;仅在removeElement方法范围内。我建议你使用ArrayList参数而不是整数数组,这样就可以list.remove(removeElement)