用java编程4.给定一个整型数组,要求找出所有重复的元素。 Input 第一行输入一个整数n,表示数组的长度。 第二行输入n个整数,表示数组的元素。 Output 输出所有重复的元素,元素之间用空格隔开,若没有重复元素则输出"无"。
时间: 2024-10-12 20:09:33 浏览: 26
在Java中,要找出数组中的所有重复元素,我们可以使用哈希集合(HashSet)来跟踪每个元素的出现次数。同时遍历数组,当遇到已经在集合中的元素时,就添加到重复元素列表中。最后返回这个列表。这里是一个示例代码:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
int n = Integer.parseInt(br.readLine());
String[] elements = br.readLine().split(" ");
Set<Integer> uniqueElements = new HashSet<>();
List<Integer> duplicates = new ArrayList<>();
for (String numStr : elements) {
int num = Integer.parseInt(numStr);
if (!uniqueElements.add(num)) { // 如果该数字已存在于集合中,则认为它是重复的
duplicates.add(num);
}
}
if (duplicates.isEmpty()) {
System.out.println("无");
} else {
for (int duplicate : duplicates) {
System.out.print(duplicate + " ");
}
}
} catch (NumberFormatException | IOException e) {
e.printStackTrace();
}
finally {
br.close();
}
}
}
```
在这个代码里,我们首先读入数组长度和元素,然后使用`add()`方法检查元素是否已经存在于`uniqueElements`集合中。如果不在,就将其加入并继续遍历;如果在,说明是重复的,并添加到`duplicates`列表中。遍历结束后,如果没有找到重复元素,就打印出"无"。
阅读全文