java定义一个数组,让用户输入一个数,然后把数组中与该数相同的数都删除,输出把新数组循环打印输出
时间: 2024-10-14 20:06:24 浏览: 19
java 输入一个数字组成的数组(输出该数组的最大值和最小值)
在Java中,你可以通过以下步骤创建一个数组,获取用户输入,删除数组中重复的元素,并输出新的数组:
1. 首先,定义一个整型数组并初始化它。例如,假设我们有一个整数类型的数组。
```java
int[] array = {1, 2, 3, 4, 5, 2, 6, 4};
```
2. 接着,提示用户输入一个数字。
```java
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个数字:");
int inputNumber = scanner.nextInt();
```
3. 使用`ArrayList`来存储不重复的元素,因为数组本身不支持动态修改大小。遍历原数组,如果元素等于用户输入,就添加到ArrayList中。
```java
ArrayList<Integer> uniqueArray = new ArrayList<>();
for (int num : array) {
if (!uniqueArray.contains(num)) {
uniqueArray.add(num);
}
}
```
4. 将ArrayList转换回整型数组,因为题目要求的是数组格式输出。
```java
int[] newArray = uniqueArray.stream().toArray(size -> new int[uniqueArray.size()]);
```
5. 最后,遍历并打印新的数组。
```java
for (int i : newArray) {
System.out.print(i + " ");
}
```
如果你需要删除原数组中的重复项而不是新建一个数组,可以使用`ArrayList`的`removeAll()`方法。不过请注意,这会改变原数组的大小。
完整示例代码如下:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
// 初始化数组
int[] array = {1, 2, 3, 4, 5, 2, 6, 4};
// 获取用户输入
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个数字:");
int inputNumber = scanner.nextInt();
// 删除数组中的重复值
List<Integer> uniqueList = new ArrayList<>(Arrays.asList(array));
uniqueList.removeIf(num -> num == inputNumber);
// 将列表转换回数组
int[] newArray = uniqueList.toArray(new int[uniqueList.size()]);
// 打印新的数组
for (int i : newArray) {
System.out.print(i + " ");
}
// 关闭扫描器
scanner.close();
}
}
```
阅读全文