java - 将元素添加到数组java

标签 java

布局是这样的

index   num 
0      [10]
1      [20]
2      [30]
 (Add 35 here)
3      [40] Move elements down
4      [50]
5      [60]
6      [70]

那我的方法是这样的

public static void method(int[] num, int index, int addnum)
{

}

如何在其中添加 35?

试过这个:

public static void method(int[] num, int index, int addnum)
{
int index = 10;
for(int k = num.length k>3; k++)
{
        Num[k]=num[k++]
}
    Num[3] = 35;

最佳答案

因为这是你自己完成的事情,所以我只提供实现方法,不提供代码:

如果您将数字设置在 index 位置,您将覆盖之前存在的值。因此,您需要做的是将每个元素从 index 开始向数组末尾移动一个位置:num[x] 变为 num[x+1]

您会发现您需要以相反的顺序执行此操作,否则您将用 num[index] 中的值填充您的数组。

在此过程中,您需要决定如何处理数组的最后一项 (num[num.length - 1]):

  • 您可以覆盖它,丢弃该值
  • 你可以从你的函数中返回它
  • 如果它不为零,你可以抛出异常
  • 您可以创建一个比当前数组大 1 个条目的新数组,而不是保留所有值
  • 等等

在此之后,您复制了 num[index]:该值也存在于 num[index+1] 中,因为您已将其移走。

现在可以在不覆盖现有值的情况下在所需位置写入新值。

编辑

您的代码中有几个错误:

  • 递增 k,你需要递减它(k--,而不是k++ )
  • 您在循环体中再次修改k:它在每个循环中更新两次
  • 如果你从k = num.length开始,你会尝试写在num[num.length + 1],这是不可能的

关于java - 将元素添加到数组java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9823503/

相关文章:

java - Pydoop 作业未运行

java - 为什么更改 WEB-INF/lib 中 jar 文件的目录顺序会导致 Tomcat 8 中出现 NoClassDefFoundError?

java - Apache Pig,程序运行问题

java - 如何在 java 类中创建 Spring Security 3.1 数据源 bean

JavaFX - 获取标签项的高度(以像素为单位)(或使用标签高度的中心垂直对齐标签)

java - 打印不带任何0的字符串

java - 加载时舞台闪烁

java - 与属性 GS 集合不同的对象 Java

java - Hibernate 加载一一不需要的标记为延迟获取类型的实体

java - 为什么 putObject 在使用 PutObjectRequest 时会抛出 AmazonS3Exception,但在没有 PutObjectRequest 的情况下却可以正常工作?