解题思路:
先创建一个数组来存储数值,因为java的数组长度一旦确定,一般情况下是不能修改的,
但要实现数组连贯的效果,最好的办法就是创建一个新数组。
那么有两个问题:
1.怎么确认新数组的长度呢?
可以通过定义一个变量,用于存储遍历数组后目标值的个数,然后新建的数组长度在第一个数组的长度上减去目标值的个数,再以新的长度值建立数组。
2.怎么用for循环把第一个数组的值赋值给第二个数组呢?
先判断参数里的x值为多少,先定义一个变量i作为循环条件,定义一个j=i,作为指针指向新的数组的索引值,在循环时,跳过目标值的输入,当arr[i]等于目标值a时,将原数组的第i个元素赋值给新数组的第j个索引,并让j自加。
代码实现:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[]arr = new int[10];
for (int i = 0; i < 10; i++) {
arr[i] = sc.nextInt();
}
int a = sc.nextInt();
int len = 10;
for (int i = 0; i < 10; i++) {
if(a==arr[i]){
len--;
}
}
int [] result = new int[len];
int i=0;
int j = i;
for (; i < arr.length; i++) {
if(arr[i]!=a){
result[j] = arr[i];
j++;
}
}
for (int k = 0; k < result.length; k++) {
System.out.print(result[k]+" ");
}
}
}