我在使用插入方法和反向方法时遇到问题,因为我是新手,所以我试图在构造函数中创建这些方法,这是一个练习示例。对于插入构造函数,我有: 它应该在数组的索引处插入一个元素
public boolean insert(int index, int element)
{
int i;
newArray = new int[Array.length + 1];
for(i = index; i > newArray.length - 1; i++)
{
newArray[i] = newArray[i + 1];
for(i = 0; i < newArray.length + 1; i++)
{
Array[i] = newArray[i];
}
}
Array[index] = element;
numElement = numElement + 1;
return true;
我的反向构造函数是:
public boolean reverse(int start, int end)
{
int temp;
for(int i = start; i <(start + end) / 2 ; i++)
{
temp = Array[i];
Array[i] = Array[end - i];
Array[end - i] = temp;
}
return true;
}
当我使用插入构造函数时,它会替换数字而不是创建一个新数组来容纳额外的元素,并且在输出关闭之前它会给我一个异常错误。相反,它不会给我正确的输出。例如:我有一个数组 [1,2,3,4,5,6,7,8,9,10]
我想反转数字 3-7 它会输出 [ 1,2,6,5,4,3,7,8,9,10]
。我不知道代码可能有什么问题。
编辑:我也尽量不使用任何 Arrays.util 方法/ArrayList 等
最佳答案
Java 有一个数组的逆向方法:
ArrayUtils.reverse(int[] array) //Reverses the order of the given array.
还有添加:
ArrayUtils.add(int[] array, int element) //Copies the given array and adds the given element at the end of the new array.
关于java - 在java中插入和反转数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28246225/