2.分析以下需求,并用代码实现:(目前尝试完成,学完集合使用集合完成)
(1)定义一个int类型的一维数组,内容为{6,2,9,6,1,2,6,7,8}
(2)去除上面定义的数组中的重复元素,打印最终结果{6, 2, 9, 1, 7, 8}
public class Test5 {
public static void main(String[] args) {
int[] arr = new int[]{6,2,9,6,1,2,6,7,8};
//定义一个变量记录数组的长度
int b = arr.length;
//定义循环拿到数组中的每一个元素
for (int i = 0; i < b; i++) {
//定义循环拿到arr[i]之后数组中的每个元素
for (int j = i + 1; j < b; j++) {
//判断arr[i]与其之后的元素是否相等,不相等就不用操作,继续循环判断
if(arr[i] == arr[j]) {
//相等就将后面的数都向前挪一位
for (int k = j; k < b - 1; k++) {
arr[k] = arr[k + 1];
}
//元素向前挪一位,其实这个元素还没与arr[i]比较是否相等,所以让索引先向前挪一位,因为之后循环还有j++,指针会再指向这个元素
j--;
//元素向前挪一位,那么数组的长度就应该少一位
b--;
}
}
}
//先打印一个左大括号 {
System.out.print("{");
//打印数组除去最后一个元素的所有元素,并在每个元素后面添加上逗号 ,
for (int i = 0; i < b - 1; i++) {
System.out.print(arr[i] + ",");
}
//打印素组的最后一个元素,并在末尾加上右大括号 }
System.out.print(arr[b - 1] + "}");
}
}
|
|