任务描述:
给一个数组(有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);}}
}