JAVA 如何用for循环将sum数组中包含same数组的数据删除 并输出
时间: 2023-06-14 19:03:58 浏览: 86
假设 `sum` 和 `same` 数组已经定义并初始化好了,可以按照以下步骤进行操作:
1. 使用两个嵌套的 `for` 循环遍历 `sum` 数组和 `same` 数组,找到需要删除的元素。
2. 使用 `if` 判断语句判断当前遍历到的元素是否在 `same` 数组中出现过,如果出现过则将其删除。
3. 在循环结束后,使用一个普通的 `for` 循环输出剩余的元素。
具体代码如下:
```java
for (int i = 0; i < sum.length; i++) {
for (int j = 0; j < same.length; j++) {
if (sum[i] == same[j]) {
// 将相同的元素从数组中删除
sum[i] = 0;
break;
}
}
}
// 输出删除后的元素
for (int i = 0; i < sum.length; i++) {
if (sum[i] != 0) {
System.out.print(sum[i] + " ");
}
}
```
需要注意的是,这种方式删除元素会使数组的长度发生变化,如果需要保持数组长度不变,则需要使用其他方式,比如将需要删除的元素用其他值替换。
相关问题
JAVA 如何用for循环将sum数组中包含same数组的数据删除
可以使用嵌套的for循环来实现这个功能。具体步骤如下:
1. 遍历sum数组,对于每个元素,再次遍历same数组。
2. 如果sum数组中当前元素等于same数组中的某个元素,则从sum数组中删除该元素。
3. 删除元素后,需要将sum数组的长度减1,并且将当前遍历的下标i回退1,以便下一次遍历不会漏掉一个元素。
4. 遍历完same数组后,如果sum数组中当前元素已被删除,则跳过当前元素,继续遍历下一个元素。
示例代码如下:
```
int[] sum = {1, 2, 3, 4, 5};
int[] same = {2, 4};
for (int i = 0; i < sum.length; i++) {
for (int j = 0; j < same.length; j++) {
if (sum[i] == same[j]) {
for (int k = i; k < sum.length - 1; k++) {
sum[k] = sum[k + 1];
}
sum = Arrays.copyOf(sum, sum.length - 1);
i--;
break;
}
}
}
```
这段代码可以将sum数组中包含在same数组中的元素删除,最终结果为{1, 3, 5}。
JAVA 如何将sum数组中包含same数组的数据删除
可以使用Java中的ArrayList和for循环来实现。具体步骤如下:
1. 将sum数组和same数组转换为ArrayList。
```java
ArrayList<Integer> sumList = new ArrayList<>(Arrays.asList(sum));
ArrayList<Integer> sameList = new ArrayList<>(Arrays.asList(same));
```
2. 使用for循环遍历sameList,将其在sumList中的所有元素删除。
```java
for (int i = 0; i < sameList.size(); i++) {
int num = sameList.get(i);
while (sumList.contains(num)) {
sumList.remove(Integer.valueOf(num));
}
}
```
3. 将sumList转换回数组返回。
```java
int[] result = sumList.stream().mapToInt(Integer::intValue).toArray();
return result;
```
完整代码如下:
```java
public static int[] deleteSame(int[] sum, int[] same) {
ArrayList<Integer> sumList = new ArrayList<>(Arrays.asList(sum));
ArrayList<Integer> sameList = new ArrayList<>(Arrays.asList(same));
for (int i = 0; i < sameList.size(); i++) {
int num = sameList.get(i);
while (sumList.contains(num)) {
sumList.remove(Integer.valueOf(num));
}
}
int[] result = sumList.stream().mapToInt(Integer::intValue).toArray();
return result;
}
```
阅读全文