我要修正我的方法,反向整型数组

By simon at 2019-05-16 • 0人收藏 • 22人看过

尝试写一个方法 reverseIntArray (int [] array) ,它应该返回一个整数数组的反向副本。 例如,如果数组[1,2,3,4] ,那么该方法应该返回数组[4,3,2,1]。

该程序编译时没有任何错误消息。 导致程序在运行时出现不正确行为的错误是什么?

Public static int [] reverseIntArray (int [] array){ int [] result new int [10] ; int j array.length; for (int i 1; i arry.length; i + +){ result [ i ] array [ j ] ; j + + ; } return result;

}

如何纠正错误? 错误到底是什么? 这个错误会有什么影响?

2 个回复 | 最后更新于 2019-05-16
2019-05-16   #1

你需要把 j 设置成 ary.length-1,而不是 ary.length-1,然后递减,而不是递增

2019-05-16   #2

你的代码有几个问题:

  1. 你的结果创建的数组大小为图10而不是传入的数组的大小。 如果传入大小小于10的数组,这将导致问题。 你可以通过以下方法来解决这个问题:[ int [] result new int [ array.length ] ;
  2. 你正在初始化我值为1. 数组从索引开始0,因此循环将跳过填充数组的第一个元素。 相反,你想要:For (int i 0; i array.length; i + +){
  3. 你想要恢复数组元素,但是你的代码正在递增J而不是颁布法令。 你想要的天哪你在哪里J + +
  4. 因为 java 数组从 index 开始0,最后一个元素的索引将小于数组的大小1。 你想要:Int j array.length-1;

登录后方可回帖

Loading...