简体   繁体   English

Java中降序反向排列的数组

[英]Array in Descending Reverse order in Java

How to sort these years in Descending Order in Java ? 如何用Java降序排列这些年?
Sample input : 样本输入:

1 1996 2 2015 3 2000 1 1996 2 2015 3 2000

Expected output : 预期产量:

ID: 2 (2015) ID:2(2015)
ID: 3 (2000) ID:3(2000)
ID: 1 (1998) ID:1(1998)

Below is the code I have tried so fare: 以下是我尝试过的代码:

import java.util.Collections;
import java.util.Scanner;

public class ArrayYear {

  public static void main(String[] args) {

    Scanner in = new Scanner(System.in);
    int[] arr = new int[3];
    int[] year = new int[3];

    // read element into array
    for (int i = 0; i < arr.length; i++)
    {
      // input value
      arr[i] = in.nextInt(); 
      year[i] = in.nextInt();
    }

    // reverse array 
    for (int j = i + 1; j < year.length ; ++j)
    {
      if ( year[i] < year[j])
      {
        int temp = year[i];
        year[i] = year[j];
        year[j] = temp;
      }
    }

    for (int i = 0; i < arr.length; i++)
    {
      // print array
      System.out.println("ID :" + arr[i] + "(" + year[i] + ")");
    }
  }
}

Try should work for array reversing 尝试应该为阵列反转工作

for (int i = arr.length; i = 0; i--)
  {
   // print array
   System.out.println("ID :" + arr[i] + "(" + year[i] + ")");
  }
import java.util.Collections;
import java.util.Scanner;

public class ArrayYear {

    public static void main(String[] args) {

    Scanner in = new Scanner(System.in);
    int[] arr = new int[3];
    int[] year = new int[3];

    // read element into array
    for (int i = 0 ; i < arr.length; i++)
    {
     // input value
     arr[i] = in.nextInt(); 
     year[i] = in.nextInt();

      // reverse array year[i] in descending order
     for (int j = 0 ; j < year.length ; j++)
      {
        if ( year[i] < year[j] )
        {
        int temp = year[i];
        year[i] = year[j];
        year[j] = temp;
        }
      }                 
    }

      for (int i = arr.length-1 ; i >= 0 ; i--)
      {
      // print array
       System.out.println("ID :" + arr[i] + "(" + year[i] + ")");   
      }
   }
}
      //my output :      
      ID :3(2001)
      ID :2(2000)
      ID :1(1988)

      //sample output:
      ID: 2 (2001)
      ID: 3 (2000)
      ID: 1 (1998)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM