每日一练75——Java数组加数组(8kyu)

题目

我是编码的新手,现在我想得到两个数组的总和......实际上是所有元素的总和。我很感激你的帮助。

P.S.每个数组仅包含整数。输出也是一个数字。

测试用例:

import org.junit.Test;
import static org.junit.Assert.assertEquals;
import org.junit.runners.JUnit4;

// TODO: Replace examples and use TDD development by writing your own tests

public class SolutionTest {
    @Test
    public void sampleTests() {
        assertEquals(21, Sum.arrayPlusArray(new int[]{1,2,3}, new int[]{4,5,6}));
        assertEquals(-21, Sum.arrayPlusArray(new int[]{-1,-2,-3}, new int[]{-4,-5,-6}));
        assertEquals(15, Sum.arrayPlusArray(new int[]{0,0,0}, new int[]{4,5,6}));
        assertEquals(2100, Sum.arrayPlusArray(new int[]{100,200,300}, new int[]{400,500,600}));
    }
}

解题

My

public class Sum {

  public static int arrayPlusArray(int[] arr1, int[] arr2) {
    int sum = 0;
    for (int i = 0; i<arr1.length; i++) {
      sum += arr1[i];
    }
    for (int i = 0; i<arr2.length; i++) {
      sum += arr2[i];
    }
    return sum;
  }

}

Other

import java.util.stream.*;

public class Sum {

  public static int arrayPlusArray(int[] arr1, int[] arr2) {
    return IntStream.of(arr1).sum() + IntStream.of(arr2).sum();
  }

}
public class Sum {

  public static int arrayPlusArray(int[] arr1, int[] arr2) {
    return sumArrayElements(arr1) + sumArrayElements(arr2);
  }
  
  private static int sumArrayElements(int[] arr) {
    int sum = 0;
    for (int i : arr) {
      sum += i;
    }
    return sum;
  }

}

后记

原来我还在想有没有库函数有类似这样的方法呢。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目 注意!这个kata比普通的8-kyu katas更难 完成,其获得的输入号码的功能n,使得n >= 10和n...
    砾桫_Yvan阅读 339评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,785评论 18 399
  • 今天因为弟弟不写作业看小说而很生气!我平时是一个很少生气的人,在北方经常被闺蜜或者好朋友称作贤妻良母,温柔和善,但...
    阿嗒咪阅读 260评论 0 0
  • “从未在一起过”和“最后没有在一起”哪一个更遗憾? 遗憾,只是一个代名词,可能伴随而来的还有冷笑,或者自嘲,或者思...
    默默喜欢你阅读 682评论 5 14
  • 村口大路旁,有一口池塘,圆圆的。西边长着几棵白杨树,东边一个豁口,多余的水从豁口处流出来,顺沟而下。白杨树下隐秘的...
    骏马悲嘶阅读 1,071评论 52 52