用户输入一个值,并告知我们要删除该值,然后打印新创建的数组。 我该如何编写代码?它应该在那个方法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;
}
}
答案 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方法并将其传递给数组。