写一个java代码,从键盘输入一个整数n,定义一个数组 arr,长度为n。从键盘输入n个整数,存入数组arr中。输入一个整数m,将数组arr中与m相同或是m的倍数的数删除,输出删除后的数组的所有元素。
时间: 2024-11-09 17:27:24 浏览: 27
Java语言程序设计实验四 方法及数组实验报告.docx
在Java中,你可以按照以下步骤编写代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 获取数组长度
System.out.println("请输入数组长度n:");
int n = scanner.nextInt();
int[] arr = new int[n];
// 输入数组元素
System.out.println("请输入" + n + "个整数放入数组:");
for (int i = 0; i < n; i++) {
arr[i] = scanner.nextInt();
}
// 获取需要删除的数字
System.out.println("请输入需要删除的数字m:");
int m = scanner.nextInt();
// 删除数组中与m相同或其倍数的元素
for (int i = 0; i < arr.length; i++) {
if (arr[i] == m || arr[i] % m == 0) { // 检查是否满足条件
// 使用System.arraycopy替换数组元素,避免内存溢出
System.arraycopy(arr, i+1, arr, i, arr.length - i - 1);
n--; // 更新剩余数组长度
i--; // 由于移除了一个元素,索引也需要更新
}
}
// 输出删除后的数组
System.out.println("删除m及m的倍数后的数组元素为:");
for (int i = 0; i < n; i++) {
System.out.print(arr[i] + " ");
}
// 关闭Scanner
scanner.close();
}
}
```
阅读全文