Java。在同一位置反转

Java。在同一位置反转,java,arrays,Java,Arrays,如果你们有时间,我想寻求帮助。尝试编写一个接受用户输入的代码,然后将输入的数字保存到数组中,然后尝试将其反转。一切正常,但最后一行“数组反转数”编译了两次,首先显示已反转数,然后显示原始数,但无法找出它的错误。有什么想法吗? p、 我们的目标是在同一个地方尊重数字。无附加数组或变量; 没有用户输入的相同方法也可以正常工作 public class ReverseUserIputArray { public static void main(String[]args){ int anA

如果你们有时间,我想寻求帮助。尝试编写一个接受用户输入的代码,然后将输入的数字保存到数组中,然后尝试将其反转。一切正常,但最后一行“数组反转数”编译了两次,首先显示已反转数,然后显示原始数,但无法找出它的错误。有什么想法吗? p、 我们的目标是在同一个地方尊重数字。无附加数组或变量; 没有用户输入的相同方法也可以正常工作

  public class ReverseUserIputArray {
public static void main(String[]args){
    int anArray;
    Scanner inArray = new Scanner(System.in);
    System.out.println("enter how many elements to save in array");
    int elements = inArray.nextInt();
    System.out.println("you want to have  " + elements + " element");
    int[] array = new int[elements];
    if(elements==0 || array.length <=1){
        System.out.println("compile again");
    }
    for(int i=0; i<elements;i++){
        System.out.println("index " + i);
        array[i] = inArray.nextInt();
    }
    System.out.println("original array is " + Arrays.toString(array));
    for (int i = 0; i < array.length; i++) {
        anArray = array[i];
        array[i] = array[array.length - 1 - i];
        array[array.length - 1 - i] = anArray;
        System.out.println("reversed number of array is " + Arrays.toString(array));
    }
}
公共类ReverseUserInputArray{
公共静态void main(字符串[]args){
国际混乱;
Scanner inArray=新扫描仪(System.in);
System.out.println(“输入数组中要保存的元素数”);
int elements=inArray.nextInt();
System.out.println(“您希望有“+元素+”元素”);
int[]数组=新的int[元素];

如果(elements==0 | | array.length将println移动到循环后。Elliot不工作,将println移动到循环外后,它不会在allOnly循环中反转到
i*2
,用前半个循环反转后半个循环会将所有内容都放回。谢谢mate,它现在可以工作了,但你能解释一下发生了什么吗?只要用一个例子试试看,比如
a[1 2 3]
,数组长度
3
。因此如果
2*i[3 2 1]…但如果继续i=2 a[2]a[0]==>a[1 2 3]…将println移到循环后。Elliot不起作用,将println移到循环外后,它不会在allOnly循环中反转到
i*2
,用第一个循环反转后半部分会将所有内容都放回。谢谢,mate,它现在起作用了,但你能解释一下发生了什么吗?只需用一个例子试试,比如
a[1 2 3]
,数组长度
3
。所以如果
2*i[3 2 1]…但是如果继续i=2 a[2]a[0]=>a[1 2 3]。。。