Java:反向排序的输出数组

时间:2016-01-28 21:32:21

标签: java arrays

我是Java新手并使用数组。这个网站也是新手。试图以相反的顺序输出我的数组:

import java.util.Scanner;

public class ListingTest
    {
    public static void main (String[] args)
    {

    int length;
    Scanner input = new Scanner(System.in);

    System.out.println("How many names will you enter?");
    length = input.nextInt();

    String[] names = new String[length];
    int[] ages = new int[length];

    for(int counter = 0; counter < length; counter++)
    {
        System.out.println("Enter name " +(counter+1));
        names[counter] = input.next();

        System.out.println("Enter age " +(counter+1));
        ages[counter] = input.nextInt();
    }

    input.close();

    for(int counter = 0; counter < length; counter++)
    {
        System.out.println("Name: " +names[counter]+ " Age: "+ages[counter]);
    }
  }
}

最后一次&#34; for循环出现问题。&#34;任何帮助表示赞赏。

谢谢。

2 个答案:

答案 0 :(得分:3)

for (int i = names.length - 1; i >= 0 ; i--) {
     System.out.println("Name: " + names[i] + " Age: " + ages[i]);
}

这从数组的顶部开始,每次迭代时减1。

答案 1 :(得分:0)

只是按相反顺序打印数组,您必须使用以下内容:

public static void main(String[] args) {
    int[] arr = {1, 2, 3, 4, 5};

    for (int i = arr.length - 1; i >= 0; i--) {
        System.out.println(arr[i]);
    }
}

或者可以使用Commons Lang库:

  

ArrayUtils.reverse(ARR)