如何从数组中删除用户输入的值?

时间:2014-03-03 15:52:16

标签: java windows

用户输入一个值,并告知我们要删除该值,然后打印新创建的数组。 我该如何编写代码?它应该在那个方法removeValue中。 你能解释它是如何运作的吗?

import java.util.*;

public class ArrayHandler {
  public static void main(String[]args)
  {

    int[] array= new int[5]; // populates Array with 5 numbers
    for(int i=0;i<array.length;i++) // creates the 5 random numbers
    array[i]=(int)(Math.random()*5000);
    printList(array); // prints Array
    System.out.println("");
    System.out.println("Sum: " + calculateSum(array));
    System.out.println("Max: " + findMax(array));
    System.out.println("Minimum: " + findMin(array));
    System.out.println("Value: " + search(array));
  }
  public static void printList(int[] nums)
  {
    for(int i=0; i<nums.length;i++) {
      System.out.print(nums[i] + " "); 
  }
  }
  public static int calculateSum(int[] nums)
  {
    int sum = 0;
    for(int i=0;i<nums.length;i++)
    {
      sum = sum + nums[i];
    }
    return sum;
  }
  public static int findMin(int[] nums)
  {
    int min = nums[0];
    for(int i=0;i<nums.length;i++)
    {
      if(nums[i] < min)
         min=nums[i];
         }
return min;
}
  public static int findMax(int[] nums)
  {
    int max=nums[0];
    for(int i=0;i<nums.length;i++)
    {
      if(nums[i] > max)
        max=nums[i];
    }
    return max;
  }
  public static int search(int[] nums)
  {
    Scanner keyboard = new Scanner(System.in);
    System.out.println("What value do you want?");
    int value = keyboard.nextInt();
    for(int i=0;i<nums.length;i++)
    {
      if(nums[i] == value)
      return i;
   }
    return -1;
  }
  public static int removeValue (int[] nums)
  {
    int[] array = new array[array.charAt(value) - array.charAt(value)];
    if(nums[i] == i)
      return array;
    else
      return -1;
  }    
}

2 个答案:

答案 0 :(得分:0)

已回答:Removing an element from an Array (Java)

如果您只想使用数组,请查看以下答案:Removing an element from an Array (Java)

答案 1 :(得分:-1)

public static String removeValue (int[] nums)
{

int i = search(nums);

nums[i] = nums[i] - nums [i];

if(nums[i] == 0)
{
    return Arrays.toString(nums);
}
else return "invalid";
}    

这将起作用,而不是在main中调用搜索方法,调用removeValue方法并将其传递给数组。