任务描述:
给一个数组(有10个数组元素)和一个值val,在不新建数组的情况下,移除所有数值等于val的元素,并输出移除后数组的新长度。
任务要求:

代码示例:
可以不进行实际的操作,直接循环判断输出统计不就行了吗?
我也没有创建新的数组,你说是不是?
package April_2024;
import java.util.Scanner;
public class a240424_1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[10]; // 创建一个长度为10的整型数组
System.out.println("输入10个数组元素值(0~1000):");
for (int i = 0; i < 10; i++) {
arr[i] = sc.nextInt();
if (arr[i] < 0 || arr[i] > 1000) {
System.out.println("输入的数字不在0~1000范围内,请重新输入");
i--;
}
}
System.out.println("输入数值val(0 < val < 1000):");
int val = sc.nextInt(); // 在不创建新数组的情况下,移出数组中val
// 计算移除指定值 val 后的有效长度
if (val < 0 || val > 1000) {
System.out.println("输入的数字不在0~1000范围内,请重新输入");
} else {
int effectiveLength = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] != val) {
effectiveLength++;
}
}
System.out.println("移除后数组的有效长度为:");
System.out.println(effectiveLength);
}
}
}

5万+

被折叠的 条评论
为什么被折叠?



