有N(N<10)个无序的整数输入到数组A中,将相同的数删除后只保留一个,输出经过删除后的数列。

如题所述

第1个回答  2013-02-27
import java.util.*;
public class Test {
public static void main(String args[])
{
int n=0;//数组长度
int a[];//定义数组
Scanner scan=new Scanner(System.in);
System.out.print("输入数组的长度N:");
n=scan.nextInt();
a=new int[n];
System.out.print("输入这"+n+"个整数的值:(换行隔开)");
for(int i=0;i<n;i++ )
{
a[i]=scan.nextInt();
}
if(n==1){System.out.print(a[0]);System.exit(0);}
java.util.Arrays.sort(a);//排序
int temp[]=new int[n];
int j=0;
for(int i=0;i<a.length-1;i++)
{
if(a[i]!=a[i+1]) {temp[j]=a[i];j++;}//两个连续且不相等的记录下来
}
temp[j]=a[a.length-1];//记录最后的一个
System.out.println(Arrays.toString(Arrays.copyOfRange(temp, 0,j+1)));
}
}
相似回答