java - 在 java 中创建交替数组方法,你能告诉我哪里出错了吗?

标签 java arrays

我正在尝试编写一个方法,该方法将两个 int [] 作为参数并返回一个新的 int [],该新 int [] 由两个给定数组交替填充。例如:给定数组 [1,2,3] 和 [10,20,30] 将返回 [1,10,2,20,3,30]。任何帮助都会很棒,谢谢。

这是我现在拥有的:

public int [] alternate(int [] a, int [] b){

int[] c = new int[a.length + b.length]

for (int i = 0; i < c.length; i + 2){

    c[i] = a[i];

    c[i + 1] = b[i];
}

return c; 

最佳答案

  1. 缺少分号
  2. 仅增加 a 的长度 - 假设 a 和 b 的大小相同
  3. 有计数器来跟踪新元素插入的位置,或者按照@ErwinBolwidt 的想法使用
  4. 正常增加i
  5. 发帖前 self 测试代码

所以

public static int [] alternate(int [] a, int [] b){

    int[] c = new int[a.length + b.length];
    int counter = 0;
    for (int i = 0; i < a.length; i++){

        c[counter++] = a[i];
        c[counter++] = b[i];
        // or
        //c[2 * i] = a[i];
        //c[2 * i + 1] = b[i];
    }

    return c; 
}

主要测试:

public static void main(String[] args) {
    int[] a = {1,2,3} ;
    int[] b = {10,20,30} ;
    int[] test = alternate(a,b);
    System.out.println(Arrays.toString(test));
}

控制台输出:

[1, 10, 2, 20, 3, 30]

关于java - 在 java 中创建交替数组方法,你能告诉我哪里出错了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50126259/

相关文章:

java - jsp中通过session访问时id太长。

java - 将正确的类加载器设置到 tomcat 容器内的 spring 上下文中

bug-tracking - 我可以在哪里提交有关 FOSS Java Sound 实现 org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine 的错误报告?

java - 对类的数组进行冒泡排序

arrays - Ruby 数组交集返回一个空白数组

java - Objectify - 区分大小写 - GAE

java - 如何调用抽象类的私有(private)构造函数进行模拟。

android - 将二维字符串数组变量从 1 个 Activity 传递到另一个 Activity

C变量 "forgets"接受输入后的值是多少

javascript - 为什么 parseInt 与 Array.map 一起使用时返回 NaN?