日期:2014-05-20 浏览次数:21401 次
public class Test {
public static void main(String[] args) {
int[] num = { 1, 2, 3, 1, 1, 9, 5, 2, 3 };// 想要删除重复的元素
int[] num_tmp = new int[num.length];
int l = -1;
for (int i = 0; i < num.length; i++) {
if (find(num[i], num_tmp)) {
l++;
num_tmp[l] = num[i];
}
}
for (int i = 0; i <= l; i++) {
System.out.print(num_tmp[i]);
}
}
public static boolean find(int num, int[] num_tmp) {
int length = num_tmp.length;
for (int i = 0; i < length; i++) {
if (num_tmp[i] == num) {
return false;
}
}
return true;
}
}
------解决方案--------------------
神人,国庆我也要做学吧,把java学好
------解决方案--------------------
借助java.util.Arrays类,写了一个,楼主参考:
import java.util.Arrays;
public class TakeOutSameOne
{
public static void main(String[] args)
{
int[] num={1,2,3,1,1,9,5,2,3}; //想要删除重复的元素
int[] newnum=new int[num.length]; //存放没有重复的数组。
newnum[0]=num[0]; //复制第一个元素。
Arrays.sort(num); //排序。
int remain=0;
for(int i=1,k=0;i<num.length;i++)
{
if(num[i]!=newnum[k]) //新数组里没有,就放进去。
{
newnum[++k]=num[i];
remain=k+1; // 记录无重复元素数。
}
}
int[] last=Arrays.copyOf(newnum,remain);//去掉多余的元素(0)。
System.out.println(Arrays.toString(last)); //显示。
}
}
------解决方案--------------------
集合的话很好解决。
------解决方案--------------------
你这个J应该从1开始 不是0 拿0和1做对比,没学过集合直接用数组也可以 就是第一个和第二个对比 加入相等 直接让第二个的值等于第三个 第三个的值等于第四个 这样相当于删除了 第二个
------解决方案--------------------
Integer[] num = { 1, 2, 3, 1, 1, 9, 5, 2, 3 };
TreeSet<Integer> set = new TreeSet<Integer>(Arrays.asList(num));
for (Integer item : set) {
System.out.println(item);
}