编写一个程序,对用户输人的任意一组字符如{3.1、4,7.2.1,1.2.2),将其中重复的数字从数组移除,例如上面输人的字符集合中,“1”和“2”重复出现了,需要将原先的数组里面重复的数字移除,输出结果如下:(3,4.7} 注意:使用循环完成,
时间: 2024-10-09 09:05:51 浏览: 30
为了编写这样一个程序,我们可以使用Java的ArrayList和HashSet来实现。ArrayList用于存储原始输入,而HashSet用于去除重复元素。这里是一个基本的示例:
```java
import java.util.*;
public class RemoveDuplicates {
public static void main(String[] args) {
// 用户输入的一组字符,包含数字和点分隔符
String input = "{3.1、4,7.2.1,1.2.2}";
// 提取数字并放入ArrayList
ArrayList<String> numbers = new ArrayList<>();
String[] parts = input.split(","); // 分割输入字符串
for (String part : parts) {
String[] numParts = part.split("\\."); // 分割数字部分
for (String numPart : numParts) {
numbers.add(numPart); // 添加到ArrayList
}
}
// 使用HashSet去重并转化为原样数字字符串
Set<String> uniqueNumbers = new HashSet<>(numbers);
StringBuilder resultBuilder = new StringBuilder();
for (String uniqueNum : uniqueNumbers) {
resultBuilder.append(uniqueNum).append(","); // 保持点分隔
}
// 去掉最后一个多余的逗号
resultBuilder.deleteCharAt(resultBuilder.length() - 1);
// 输出结果
System.out.println(resultBuilder.toString().substring(1)); // 去掉前导的"{"
}
}
```
这个程序首先把输入的字符串分割成单独的数字和点,然后将所有数字添加到ArrayList中。接着,使用HashSet去重,因为它不允许重复元素。最后,将去重后的元素重新组合成字符串,并打印出来。
阅读全文