读书人

Java绝对值排序解决方案

发布时间: 2012-12-29 10:28:09 作者: rapoo

Java绝对值排序
输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。n=0表示输入数据的结束,不做处理。
样例输入
3 3 -4 2
4 0 1 2 -3
0

样例输出
-4 3 2
-3 2 1 0
下面是我代码,看看应该怎样改
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner rd=new Scanner(System.in);
int N=rd.nextInt();
int arr[]=new int[N];
int i,j,temp;
for(i=0;i<N;i++)
{
arr[i]+=rd.nextInt();
}
for(i=0;i<N;i++)
{
for(j=N-1;j>i;j--)
{
if(arr[j]<arr[j-1])
{
temp=arr[j-1];
arr[j-1]=arr[j];
arr[j]=temp;
}
}
}
for(i=0;i<N;i++)
{
System.out.print(arr[i]+" ");
}
}
[解决办法]
把if判断修改下就差不多了,利用 Math.abs() 进行比较

读书人网 >Eclipse开发

热点推荐