定义一个长度为7的数组; 输入7位含有重复数字的整数作为数组的值; 请将重复元素删除,并且数组元素含有0时,不论是否重复,都将0删除,并输出 更新后数组中的元素。 例如: 数组{0, 1, 2, 2, 3, 4, 5},更新后为 {1, 2, 3, 4, 5}.使用java语言
时间: 2024-05-04 11:17:16 浏览: 68
基于C++,写一个程序 要求用户输入10个数据到数组中,然后将数组中最大值和最小值显示出来,并显示下标
好的,我可以帮你写一个Java程序来实现这个功能。下面是代码:
```java
import java.util.Arrays;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
int[] arr = new int[7];
Scanner scanner = new Scanner(System.in);
System.out.println("请输入7位整数,用空格隔开:");
for (int i = 0; i < 7; i++) {
arr[i] = scanner.nextInt();
}
scanner.close();
// 使用Set去重
Set<Integer> set = new HashSet<>();
for (int i = 0; i < 7; i++) {
set.add(arr[i]);
}
// 如果数组中包含0,将其删除
set.remove(0);
// 将Set转换成数组并排序
int[] newArr = new int[set.size()];
int index = 0;
for (int num : set) {
newArr[index++] = num;
}
Arrays.sort(newArr);
// 输出结果
System.out.print("更新后数组中的元素为:");
for (int num : newArr) {
System.out.print(num + " ");
}
}
}
```
这个程序通过使用Set集合来去重,并且在去重后判断数组中是否还存在0,如果存在则删除。然后将Set转换成数组并排序,最后输出更新后的数组元素。
阅读全文