因为是初学者没有学过什么高级的工具只能用比较笨的方法,大家帮我瞅瞅
如题 数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
思想 : 先求出去重复后的数组长度 l,然后定义一个该长度的方法,
在通过把原数组每个数和新定义的数组里的数相比较,重复的跳过,不重复的给新数组赋值的方法取得去重复的数组,最后打印数组
代码
public class Test6 {
public static void main(String[] args)
{
int arr[]={4,2,4,6,1,2,4,7,8};
int l=getlength(arr);
int s[]=new int[l];
gets(arr, s);
pr(s);
}
public static int getlength(int arr [])
{
int l=1;
w:for(int x=0;x<arr.length-1;x++)
{
int y=x+1;int n=1;
for(;y<arr.length;y++,n++)
{
if(arr[x]==arr[y])
continue w;
if(n==arr.length-1-x)
l++;
}
}
return l;
}
public static void gets(int arr [],int s [])
{
w: for(int x=0;x<arr.length;x++)
f: for(int y=0;y<s.length;y++)
{
if(arr[x]!=s[y])
{
s[y]=arr[x];
x++;
continue w;
}
}
}
public static void pr(int arr [])
{
System.out.print("[");
for(int x=0;x<arr.length;x++)
{
if(x==arr.length-1)
System.out.println(arr[x]+"]");
else {
System.out.print(arr[x]+",");
}
}
}
}
运行结果是 [8,4,0,0,0,0]
求解。。。
|
|