我从用户那里获得了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]);
}
}
答案 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]
?