已知数组phone_numbers中存放一批手机号码,即String[] phone_numbers = {"17861112444","15557499907","18863880388","13697610010","13697610010","18863880388"}。 将该数组里面重复出现的手机号识别出来,然后将去掉重复手机号之后的新数组打印出来。JAVA
时间: 2023-05-20 07:07:28 浏览: 63
以下是您要求的C知道的回答:
可以使用Java中的HashSet来去重,并将结果放入新数组中。
具体代码如下:
String[] phone_numbers = {"17861112444","15557499907","18863880388","13697610010","13697610010","18863880388"};
Set<String> set = new HashSet<>(Arrays.asList(phone_numbers));
String[] new_phone_numbers = set.toArray(new String[set.size()]);
System.out.println(Arrays.toString(new_phone_numbers));
输出结果为:
[13697610010, 17861112444, 18863880388, 15557499907]
希望能够帮助您!
相关问题
JAVA编程已知数组phone_numbers中存放一批手机号码,即String[] phone_numbers = {"17861112444","15557499907","18863880388","13697610010","13697610010","18863880388"}。 将该数组里面重复出现的手机号识别出来,然后将去掉重复手机号之后的新数组打印出来。for循环
实现如下:
```
public class PhoneNumbers {
public static void main(String[] args) {
String[] phone_numbers = {"17861112444","15557499907","18863880388","13697610010","13697610010","18863880388"};
ArrayList<String> unique_numbers = new ArrayList<String>();
ArrayList<String> repeated_numbers = new ArrayList<String>();
for (int i = 0; i < phone_numbers.length; i++) {
if (unique_numbers.contains(phone_numbers[i])) {
if (!repeated_numbers.contains(phone_numbers[i])) {
repeated_numbers.add(phone_numbers[i]);
}
} else {
unique_numbers.add(phone_numbers[i]);
}
}
System.out.println("Unique phone numbers:");
for (String number : unique_numbers) {
System.out.println(number);
}
System.out.println("Repeated phone numbers:");
for (String number : repeated_numbers) {
System.out.println(number);
}
}
}
```
运行结果为:
```
Unique phone numbers:
17861112444
15557499907
18863880388
13697610010
Repeated phone numbers:
13697610010
18863880388
```
已知数组phone_numbers中存放一批手机号码,即String[] phone_numbers = {"17861112444","15557499907","18863880388","13697610010","13697610010","18863880388"}。 将该数组里面重复出现的手机号识别出来,然后将去掉重复手机号之后的新数组打印出来。用for循环JAVA
实现如下:
```
public class Main {
public static void main(String[] args) {
String[] phone_numbers = {"17861112444", "15557499907", "18863880388", "13697610010", "13697610010", "18863880388"};
List<String> list = new ArrayList<>();
for (int i = 0; i < phone_numbers.length; i++) {
boolean flag = false;
for (int j = i + 1; j < phone_numbers.length; j++) {
if (phone_numbers[i].equals(phone_numbers[j])) {
flag = true;
break;
}
}
if (flag && !list.contains(phone_numbers[i])) {
list.add(phone_numbers[i]);
}
}
String[] new_phone_numbers = new String[phone_numbers.length - list.size()];
int index = 0;
for (int i = 0; i < phone_numbers.length; i++) {
if (!list.contains(phone_numbers[i])) {
new_phone_numbers[index++] = phone_numbers[i];
}
}
for (int i = 0; i < new_phone_numbers.length; i++) {
System.out.println(new_phone_numbers[i]);
}
}
}
```
解释如下:
1. 首先定义一个List用于存储重复的手机号,而后面会用到的去重后的新数组的长度需要用到list的大小,所以需要先定义。
2. 用两重循环遍历数组,判断数组中是否存在重复的手机号,如果存在,则将该手机号添加到list中。
3. 定义一个新的数组,长度为原数组长度减去list的大小,即去重后的新数组的长度。
4. 再次遍历原数组,将不在list中的手机号添加到新数组中。
5. 最后遍历新数组,打印出去重后的手机号。
注意:这里的去重是指去除数组中所有的重复元素,而不是只去除重复出现的元素。如果题目要求只去除重复出现的元素,那么需要修改判断条件。