java中数组的反向元素?

时间:2017-04-19 13:14:10

标签: java arrays reverse

我想以相反的顺序打印数组,但我不知道为什么它不起作用。我想用下面提到的方式在一行中反转它们,但我的逻辑不起作用。

void dynamicinputArraytwo() throws IOException  {

    int buffer;
    int i,jo,io;
    System.out.println("Enter size");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    buffer = Integer.parseInt(br.readLine());
    float arrtwo[]=new float[buffer];

    for( i=0;i< arrtwo.length;i++){
        System.out.println ("Enter elements of array=");
        arrtwo[i] = Float.parseFloat(br.readLine());
    }

    for (int jx=0; jx < arrtwo.length; jx++){
        System.out.println("array before reverse "+arrtwo[jx] + " ");
    }

    float arrthree[];
    arrthree = new float[arrtwo.length];

    for(io=0,jo=arrtwo.length; jo>=0;io++,jo--){
        arrthree[io] = arrtwo[jo] ;
    }

    for(io=0; io < arrtwo.length; io++){
        arrtwo[io] = arrthree[io] ;
    }

    for (int jx=0; jx < arrtwo.length; jx++){
        System.out.println("array after reverse "+arrtwo[jx] + " ");
    }
}

1 个答案:

答案 0 :(得分:1)

你的第一个问题是:

for(io=0,jo=arrtwo.length; jo>=0;io++,jo--){
    arrthree[io] = arrtwo[jo] ;
}

数组的最后一个索引是length - 1,因为数组从0开始编制索引,因此您将有一个例外(即arrtwo[arrtwo.length] 有效数组中的索引)。您最初应将jo设置为arrtwo.length - 1