java - 我怎样才能将这两个数组相加成一个新数组?

标签 java arrays

如何将这两个数组相加成一个新数组? arrayA 的第一个值和 arrayB 的第一个值在哪里?

public class Exercises {

    static BufferedReader in = new BufferedReader(
            new InputStreamReader(System.in));
    static PrintStream out = System.out;

    public static void main(String[] args) throws IOException {
        int numbersA[] = new int[5];
        int numbersB[] = new int[5];
        int numbersC[] = new int[5];

        for (int i = 0; i < 5; i++) {
            out.print("Please insert a number for the first array: ");
            numbersA[i] = Integer.parseInt(in.readLine());
        }

        for (int i = 0; i < 5; i++) {
            out.print("Please insert a number for the second array: ");
            numbersB[i] = Integer.parseInt(in.readLine());
        }
        int j = 0;
        for (int i = 0; i < 5; i++) {
            numbersC[j] = (numbersA.length[i] + numbersB.length[i]);
        }
        {

            out.print("The sum of the two arrays are: " + numbersC[j] + " ");
        }
        out.println();
    }
}

最佳答案

你很接近。 numbersA[i]numbersB[i](不是每个数组的length)。此外,您不需要 j 并且应该在循环之前打印前奏。喜欢,

out.print("The sum of the two arrays are: ");
for (int i = 0; i < 5; i++) {
    numbersC[i] = numbersA[i] + numbersB[i];
    out.print(numbersC[i] + " ");
}
out.println();

最后,您的代码依赖于魔数(Magic Number)(硬编码数组长度)。这是一种不好的做法,相反,您应该使用 array.length,这样您的代码就不需要在数组大小发生变化时进行更改。喜欢,

int[] numbersA = new int[5];
int[] numbersB = new int[5];
for (int i = 0; i < numbersA.length; i++) {
    out.print("Please insert a number for the first array: ");
    numbersA[i] = Integer.parseInt(in.readLine());
}

for (int i = 0; i < numbersB.length; i++) {
    out.print("Please insert a number for the second array: ");
    numbersB[i] = Integer.parseInt(in.readLine());
}
int[] numbersC = new int[Math.min(numbersA.length, numbersB.length)];
out.print("The sum of the two arrays are: ");
for (int i = 0; i < numbersC.length; i++) {
    numbersC[i] = numbersA[i] + numbersB[i];
    out.print(numbersC[i] + " ");
}
out.println();

关于java - 我怎样才能将这两个数组相加成一个新数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59015557/

相关文章:

java - Java 中 C 的 "static"关键字相当于什么?

javascript - 将数组数组的字符串转换为 Javascript 数组数组的优雅方法?

c - 在 C : n-dimensional arrays 中取消引用非指针

c - 如何在 C 中查找 unsigned char 指针的长度?

java - 使用 for 循环在数组中搜索名称

java - 传入两个 lambda 函数

java - Java 计划执行程序的未处理异常

java - 支持 Java 单元测试框架中的松散集合验证

java - spring 表单标签的 ESAPI 实现

c++ - 二分查找函数的问题