Java将2个数组一起添加并返回其中的总和

Java将2个数组一起添加并返回其中的总和,java,Java,我试图将两个数组相加并返回其总和,但它不会产生任何输出。我想知道为什么 public class MyProgram { public static void main (String[] args) { new MyProgram().start(); } public void start() { int[] ar1 = {3, 8, 4, 9, 5, 5, 23, 14}; int[] ar2 = {

我试图将两个数组相加并返回其总和,但它不会产生任何输出。我想知道为什么

public class MyProgram
{
    public static void main (String[] args)
    {
        new MyProgram().start();
    }

    public void start()
    {
        int[] ar1 = {3, 8, 4, 9, 5, 5, 23, 14};
        int[] ar2 = {33, 23, 41, 9, 17, 51, 23, 45};

        sumA(ar1, ar2);
    }

    private int[] sumA(int[] ar1, int[] ar2)
    {
        int[] sumArray = new int[0];

        for (int i = 0; i < ar1.length; i++)
        {
            sumArray[i] = ar1[i] + ar2[i];
        }
        return sumArray;
    }
}
公共类MyProgram
{
公共静态void main(字符串[]args)
{
新建MyProgram().start();
}
公开作废开始()
{
int[]ar1={3,8,4,9,5,5,23,14};
int[]ar2={33,23,41,9,17,51,23,45};
sumA(ar1,ar2);
}
私有int[]sumA(int[]ar1,int[]ar2)
{
int[]sumArray=新的int[0];
for(int i=0;i
首先,您需要正确实例化阵列:

int[] sumArray = new int[ar1.length];
然后,如果你想看到结果是什么,你需要对它做些什么(可能打印出来…):


首先,您需要正确实例化数组:

int[] sumArray = new int[ar1.length];
然后,如果你想看到结果是什么,你需要对它做些什么(可能打印出来…):


这是因为您没有编写任何
system.out.println()代码中的语句。请尝试以下代码:

public class MyProgram
{
public static void main (String[] args)
{
    new MyProgram().start();
}

public void start()
{
    int[] ar1 = {3, 8, 4, 9, 5, 5, 23, 14};
    int[] ar2 = {33, 23, 41, 9, 17, 51, 23, 45};

    int sum[]=sumA(ar1, ar2);

    for(int i: sum)
    {
        System.out.println(i);
    }
}

private int[] sumA(int[] ar1, int[] ar2)
{
    int[] sumArray = new int[8];

    for (int i = 0; i < ar1.length; i++)
    {
        sumArray[i] = ar1[i] + ar2[i];
    }
    return sumArray;
}
}
公共类MyProgram
{
公共静态void main(字符串[]args)
{
新建MyProgram().start();
}
公开作废开始()
{
int[]ar1={3,8,4,9,5,5,23,14};
int[]ar2={33,23,41,9,17,51,23,45};
int sum[]=sumA(ar1,ar2);
用于(整数i:总和)
{
系统输出打印LN(i);
}
}
私有int[]sumA(int[]ar1,int[]ar2)
{
int[]sumArray=newint[8];
for(int i=0;i

请参阅所附的图片。

这是因为您没有编写任何
system.out.println()代码中的语句。请尝试以下代码:

public class MyProgram
{
public static void main (String[] args)
{
    new MyProgram().start();
}

public void start()
{
    int[] ar1 = {3, 8, 4, 9, 5, 5, 23, 14};
    int[] ar2 = {33, 23, 41, 9, 17, 51, 23, 45};

    int sum[]=sumA(ar1, ar2);

    for(int i: sum)
    {
        System.out.println(i);
    }
}

private int[] sumA(int[] ar1, int[] ar2)
{
    int[] sumArray = new int[8];

    for (int i = 0; i < ar1.length; i++)
    {
        sumArray[i] = ar1[i] + ar2[i];
    }
    return sumArray;
}
}
公共类MyProgram
{
公共静态void main(字符串[]args)
{
新建MyProgram().start();
}
公开作废开始()
{
int[]ar1={3,8,4,9,5,5,23,14};
int[]ar2={33,23,41,9,17,51,23,45};
int sum[]=sumA(ar1,ar2);
用于(整数i:总和)
{
系统输出打印LN(i);
}
}
私有int[]sumA(int[]ar1,int[]ar2)
{
int[]sumArray=newint[8];
for(int i=0;i

请参阅所附图像。

如果要添加不同长度的阵列:

private static int[] sumA(int[] ar1, int[] ar2) {
    int[] sumArray = new int[Math.max(ar1.length, ar2.length)];

    for (int i = 0; i < sumArray.length; i++) {
        sumArray[i] = (i < ar1.length ? ar1[i] : 0) + (i < ar2.length ? ar2[i] : 0);
    }
    return sumArray;
}
私有静态int[]sumA(int[]ar1,int[]ar2){
int[]sumArray=newint[Math.max(ar1.length,ar2.length)];
对于(int i=0;i

如果没有,BobTheBuilder的答案就足够了。

如果要添加不同长度的数组:

private static int[] sumA(int[] ar1, int[] ar2) {
    int[] sumArray = new int[Math.max(ar1.length, ar2.length)];

    for (int i = 0; i < sumArray.length; i++) {
        sumArray[i] = (i < ar1.length ? ar1[i] : 0) + (i < ar2.length ? ar2[i] : 0);
    }
    return sumArray;
}
私有静态int[]sumA(int[]ar1,int[]ar2){
int[]sumArray=newint[Math.max(ar1.length,ar2.length)];
对于(int i=0;i
如果没有,BobTheBuilder的答案就足够了。

您的错误如下:

int[] sumArray = new int[0]; <---
还是这个

int[] sumArray = new int[ar2.length];
如果要显示结果,请执行以下操作:

int[] sumArray = new int[ar1.length];

for (int i = 0; i < ar1.length; i++)
{
    sumArray[i] = ar1[i] + ar2[i];
    System.out.print(sumArray[i] + " ");
}
return sumArray;
int[]sumArray=newint[ar1.length];
for(int i=0;i
您的错误如下:

int[] sumArray = new int[0]; <---
还是这个

int[] sumArray = new int[ar2.length];
如果要显示结果,请执行以下操作:

int[] sumArray = new int[ar1.length];

for (int i = 0; i < ar1.length; i++)
{
    sumArray[i] = ar1[i] + ar2[i];
    System.out.print(sumArray[i] + " ");
}
return sumArray;
int[]sumArray=newint[ar1.length];
for(int i=0;i
使用
Math.min()
而不是
Math.max()
会更安全吗?使用
Math.max()?使用
Math.max()。