java - 将两个 int 数组连接并排序为一个 int 数组

标签 java arrays sorting

我知道有人问过类似的问题,我已经研究过这个网站。我尝试使用一些答案,但我的语法仍然无效。

我正在翻阅以前的试卷,以帮助加深我对 Java 的了解。 请原谅我代码中的任何错误,我仍在学习 Java 语法。

这是我的问题:

实现一个方法 static int[] splice(int[] v, int[] w) ,它(假设 v 和 w 的长度相同)返回一个数组,其中元素如果 v 和 w 交错,开始v 的第一个元素,w 的第一个元素,v 的第二个元素,依此类推。 例如,如果 v = { 1, 3, 5 } 和 w = { 2, 4, 6 } 调用拼接应返回 { 1, 2, 3, 4, 5, 6 }。

如果输入数组的长度不同,该方法应返回 null。

这是我的代码:

import java.util.*;

public class TwoArraysBecomeOne {

public static void main(String[] args) {

    int[] v = { 1, 3, 5 };
    int[] w = { 2, 4, 6 };

    splice(v,w);
}

public static int[] splice(int[] v, int[] w){

    if(v != w) {
        return null;
    }

    int[] x = new int[v.length + w.length];

    for (int i = 0; i < v.length; i++) {
        x[i] = v[i] + w[i];
    }

    for (int j = 0; j < x.length; j++) {
        System.out.println(x[j]);
    }

    return x;

    }
}

我知道我当前的语法正在生成一个新数组 x = { 3, 7, 11 }。 我已经删除了尝试连接我的代码的各种尝试,因为这会导致我的代码出错。我只需要一些提示来帮助回答这个问题。

再一次,请原谅我代码中的任何错误,我仍在学习 Java。

谢谢。

最佳答案

试试这个

public static void main(String[] args) throws Exception {
    int[] v = { 1, 3, 5 };
    int[] w = { 2, 4, 6 };
    int[] res = splice(v, w);
    System.out.println(Arrays.toString(res));
}

private static int[] splice(int[] v, int[] w) {
    if (v.length != w.length) {
        return null;
    }
    int[] a = new int[v.length + w.length];
    for (int i = 0; i < v.length; i++) {
        a[i * 2] = v[i];
        a[i * 2 + 1] = w[i];
    }
    return a;
}

输出

[1, 2, 3, 4, 5, 6]

关于java - 将两个 int 数组连接并排序为一个 int 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16531194/

相关文章:

java - Spring引导@Value为空

java - 使用 java.exe 的静默模式执行

java - Git:将文件自动 merge 为冲突文件

php - PDO 获取数组的数组。外部有数字索引。内部有关联索引

java - 二维整数数组,随机填充 1 和 0。我该如何做到总有办法从一个角落走到另一个角落?

java - 在 Spring 单元测试中连接依赖项而不使用 @RunWith

无法将 int 类型分配给 int* 类型

java - ArrayList 根据 pojo 对象查找字段

javascript - 对值最接近 1 的数组进行排序

javascript - JS Array.prototype.sort() 在 Firefox 中失败,在 Chrome 中有效