第1关:练习-Java数组之一维数值数组之数据去重
任务描述
本关任务:去除数组中的重复数据。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,去除数组中的重复数据,具体要求如下:
-
接收给定的数据(如:4 88 43 43 98 #...,其中第一个数代表数组长度,其余数代表数组元素,# 号用于终止接收数据,这些数据用空格进行分隔),遇到 # 号终止接收;
-
创建数组并添加元素;
-
去除数组中重复元素。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
可在右侧 “测试结果”区查看具体的测试集详情。 例: 测试输入:
4 6 6 6 7 #
预期输出:
6
7
注意:预期输出中最后有一行空行。
开始你的任务吧,祝你成功!
源代码:
import java.util.Arrays;
import java.util.Scanner;
public class ArrTest {
public static void main(String[] args) {
// 请在Begin-End间编写代码
/********** Begin **********/
// 接收给定的数据
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int[] arr = new int[n];
for(int i=0;i<n;i++){
arr[i] = input.nextInt();
}
// 通过临时数组对原数组去重,最后将临时数组赋值给原数组
int[] aar = new int[n];
int z=0;
for(int i=0;i<n;i++){
int t=0;
for(int j=0;j<i;j++){
if(arr[i]==arr[j]){ //如果这个数与前边的任意一个数相等,把t=1来标记
t=1;break;
}
}
if(t==0) //如果没有重复,就把这个数放到,新的数组中
aar[z++]=arr[i];
}
// 打印去重后的数组值
for(int i=0;i<z;i++)
System.out.println(aar[i]);
/********** End **********/
}
}