首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

Java绝对值排序解决方案

2012-12-29 
Java绝对值排序输入n(n100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数

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() 进行比较

热点排行