Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-将元素添加到数组中_Java_Arrays_Position_Element_Add - Fatal编程技术网

Java-将元素添加到数组中

Java-将元素添加到数组中,java,arrays,position,element,add,Java,Arrays,Position,Element,Add,环顾四周,在java中找不到任何类似的问题 基本上,我需要在特定位置索引中向int数组添加一个数字 我只能使用数组,没有ArrayLists 这是我到目前为止所做的,我知道它为什么不起作用,但我不知道如何解决覆盖的问题,我不希望它这样做 该任务是非覆盖插入。e、 g.最终结果将是: [1 2 1337 3 4 5 6 7 8] 以下是代码片段: public void main(String[] args) { int[] array = {1,2,3,4,5,6,7,8}; array =

环顾四周,在java中找不到任何类似的问题

基本上,我需要在特定位置索引中向int数组添加一个数字

我只能使用数组,没有
ArrayLists

这是我到目前为止所做的,我知道它为什么不起作用,但我不知道如何解决覆盖的问题,我不希望它这样做

该任务是非覆盖插入。e、 g.最终结果将是:

[1 2 1337 3 4 5 6 7 8]
以下是代码片段:

public void main(String[] args)
{
int[] array = {1,2,3,4,5,6,7,8};
array = add(array, 2, 1337);
for(int i : array)
    System.out.print(i + " ");
}


public int[] add(int[] myArray, int pos, int n)
{
    for (int i = pos; i<myArray.length-1; i++){
        myArray[i] = myArray[i+1];
    }
    myArray[pos] = n;
    return myArray;
}
public void main(字符串[]args)
{
int[]数组={1,2,3,4,5,6,7,8};
数组=添加(数组,21337);
for(int i:array)
系统输出打印(i+“”);
}
公共int[]add(int[]myArray,int pos,int n)
{
对于(int i=pos;i

也许这会对你有所帮助。

你的问题是这个循环:

for (int i = pos; i<myArray.length-1; i++){
    myArray[i] = myArray[i+1];
}

请注意,这将通过丢失(覆盖)最后一个元素为插入
pos
腾出空间。

这是家庭作业吗?“我不知道如何解决该问题。”问题是什么?请注意“不起作用”在描述问题时没有用。你解决问题的最佳理论是什么?你是指非覆盖插入?例如,最终结果将是[1 2 1337 3 4 5 6 7 8]?这个问题,因为它没有将其添加到数组中,这是我解决它的最佳理论…@Bill YesOK,又一次。这是家庭作业吗?如果是这样,它应该被标记为这样,并且会吸引比最后4个标签加起来更多的“追随者”。啊,是的。288(最后4个标签加起来的追随者)对862(家庭作业)。)那么你不需要调整目标数组的大小吗?原来的有8个元素,新的有9个。这将最终用myArray[i]替换数组的其余部分,这将覆盖数据。这正是我需要这个循环来做的,现在我可以继续我的项目了,谢谢!
for (int i = pos; i<myArray.length-1; i++){
    myArray[i] = myArray[i+1];
}
for (int i = myArray.length - 1; i > pos; i--) {
    myArray[i] = myArray[i - 1];
}