在 Java 中获取数组的总和

本教程介绍了如何在 Java 中查找数组的总和,还列出了一些示例代码来理解该主题。

数组被定义为 Java 中相似类型元素的集合。在本文中,我们将通过使用一些内置方法和自定义代码来查找数组元素的总和。

在编程过程中执行此操作是很常见的。不幸的是,Java 没有提供任何特定的方法来获取数组的总和。所以,我们将使用一些技巧来解决这个问题!

在 Java 中使用 for 循环求数组的总和

在这个例子中,我们使用了一个循环来遍历每个数组元素并并行得到它们的和。这个方法有一个简单的代码,需要一个循环来获得总和。这是示例程序:

public class SimpleTesting{
    public static void main(String[] args) {
        int arr[] = new int[] {12,34,45,21,33,4};
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum+=arr[i];
        }
        System.out.println("Array Sum = "+sum);
    }
}

输出:

Array Sum = 149

使用 Java 中的 Stream 方法求数组的总和

在这个例子中,我们使用了 Arrays 类的 stream() 方法和 parallel() 方法来获取数组元素的总和。我们将 lambda 表达式传递给实际执行求和运算的 reduce() 方法。请参考下面的示例:

import java.util.Arrays;
public class SimpleTesting{
    public static void main(String[] args) {
        int arr[] = new int[] {12,34,45,21,33,4};
        int sum = Arrays.stream(arr).parallel().reduce(0,(a,b)->  a + b);
        System.out.println("Array Sum = "+sum);
    }
}

输出:

Array Sum = 149

使用 Java 中的 reduce 方法求数组的总和

在这个例子中,我们直接使用 reduced() 方法处理数组流并获得元素的总和。这是如何做到的:

import java.util.Arrays;
public class SimpleTesting{
    public static void main(String[] args) {
        int arr[] = new int[] {12,34,45,21,33,4};
        int sum = Arrays.stream(arr).reduce(0,(a,b)->  a + b);
        System.out.println("Array Sum = "+sum);
    }
}

输出:

Array Sum = 149

使用 Java 中的 sum 方法求数组的总和

Java 在 Stream API 中提供了 sum() 方法来获取流序列的总和。在这里,我们将一个数组传递给流并通过使用 sum() 方法得到它的总和。请参考下面的示例:

import java.util.Arrays;
public class SimpleTesting{
    public static void main(String[] args) {
        int arr[] = new int[] {12,34,45,21,33,4};
        int sum = Arrays.stream(arr).sum();
        System.out.println("Array Sum = "+sum);
    }
}

输出:

Array Sum = 149

使用 Java 中的 IntStream 接口求数组的总和

此方法是另一种解决方案,你可以在其中使用 Intsream 接口创建数组元素流,并利用 sum() 方法在简单的单行解决方案中获取总和。按照此处的示例代码进行操作:

import java.util.stream.IntStream;
public class SimpleTesting{
    public static void main(String[] args) {
        int arr[] = new int[] {12,34,45,21,33,4};
        int sum = IntStream.of(arr).sum();
        System.out.println("Array Sum = "+sum);
    }
}

输出:

Array Sum = 149

在 Java 中使用紧凑的 for 循环求数组的总和

在这个例子中,我们使用了一个 for 循环来通过一个额外的唯一过程来获取数组元素的总和。在这里,我们没有创建循环体,而是绑定到循环签名部分。我们可以称之为紧凑循环解决方案。如果你不怕凌乱的代码块,你可以尝试一下。

public class SimpleTesting{
    public static void main(String[] args) {
        int arr[] = new int[] {12,34,45,21,33,4};
        int sum,i;
        for(sum= 0, i= arr.length - 1; 0 <= i; sum+= arr[i--]);
        System.out.println("Array Sum = "+sum);
    }
}

输出:

Array Sum = 149

在 JavaScript 中获取数字的最后 2 位数字

要获取数字的最后 2 位数字:

  1. 将数字转换为字符串。
  2. 对字符串调用 slice() 方法,将 -2 作为参数传递给它。
  3. slice() 方法将返回字符串中的最后 2 个字符。
  4. 将字符串转换回数字以获得最后 2 位数字。
const num = 2468;
const last2Str = String(num).slice(-2); // 👉️ '68'
const last2Num = Number(last2Str); // 👉️ 68

第一步是使用 String 对象将数字转换为字符串,因此我们可以使用 String.slice 方法。

JavaScript 索引是从零开始的。 字符串中第一个字符的索引为 0,最后一个字符的索引为 str.length - 1

我们传递给 slice 方法的唯一参数是起始索引——要包含在新字符串中的第一个字符的索引。

传递负索引 -2 意味着给我字符串的最后 2 个字符。

这与传递 string.length - 2 作为起始索引相同。

const str = 'Hello World';

const last2 = str.slice(-2);
console.log(last2); // 👉️ ld

const last2Again = str.slice(str.length - 2);
console.log(last2Again); // 👉️ ld

slice() 方法返回一个字符串,所以最后一步是将字符串转换回数字以获得数字的最后 2 位。