如何使用另一个数组反转一个数组中的整数?

时间:2011-12-07 01:37:41

标签: java arrays

我从用户那里获得了10个值,我想将它放入一个数组并将其调用到一个方法中,然后调用另一个包含一个数组的方法,该数组在不使用全局变量的情况下反转第一个数组的整数。例如,用户给我值1,2,3等。我将它存储在第一个数组中,然后在第二个数组中输出3,2,1。

我有部分代码从用户获取整数,但我不知道如何在不使用全局变量的情况下反转数组。当代码到达values[i];

的第二个方法时,代码不会运行

这是我到目前为止所做的:

public static void main(String[] args) {

    getInput();
    reverseInput();
    System.exit(0);
}  

public static void getInput() {

    Scanner keyboard = new Scanner(System.in);

    int[] values;
    values = new int[10];

    //Ask the user to enter 10 integers
    System.out.println("Please enter ten numbers.");
    for (int i = 0; i<values.length; i++) {//for loop to display the values entered
        values[i] = keyboard.nextInt();
        System.out.println("Value" + (i +1) + " is " + values[i]);
    }
}

public static void reverseInput() { 

    System.out.println("Now we are going to reverse the numbers.");
    Scanner keyboard = new Scanner(System.in);

    int [] values;
    values = new int[10];

    for (int i = (values.length -1); i>= 0; i--) {//for loop to display integers in reversed order
        values[i];
        System.out.println(values[i]);
    }
}

4 个答案:

答案 0 :(得分:3)

首先,如果您不打算使用全局变量,则需要将数组从get输入方法传递给reverseInput方法。像这样:

int[] values = getInput();
reverseInput(values);

然后要在reverseInput方法中输出数组,它必须如下所示:

    public static void reverseInput(int[] values) {
        for(int i = (values.length - 1); i >= 0; i--){
            System.out.println(values[i]);
        }
    }

答案 1 :(得分:2)

您可以使用ArrayUtils.reverse中的Commons Lang

ArrayUtils.reverse(values);

答案 2 :(得分:1)

使用“getInput”作为基础来获取10个数字,然后在“for”循环之后,再做另一个反向循环

  public static void reverseInput()
  {

    Scanner keyboard = new Scanner(System.in);

    int[] values;
    values = new int[10];

    //Ask the user to enter 10 integers
    System.out.println("Please enter ten numbers, we are going to reverse the numbers");
    for (int i = 0; i<values.length; i++) //for loop to display the values entered
    {
      values[i] = keyboard.nextInt();
    };
    int[] revValues;
    revValues = new int[10];
    for (int i = (values.length -1); i>= 0; i--) //for loop to display integers in reversed order
    {
      revValues[ revValues.length -1 -i ] = values[ i ];
      System.out.println( revValues[ i ] );
    }
}

答案 3 :(得分:1)

好的,您了解如何以参考顺序显示元素。正如你写的那样:

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

所以考虑到这一点,你如何将values的元素(比如它有5个元素)放在另一个数组中(称之为reversedValues),以便将values[4]放入reversedValues[0] 1}}依此类推values[0]放入reversedValues[4]