我在Java中遇到了一个问题,无法找到求一个数组中所有整数的和的有用方法,Math
类中也没有这个方法。
我在Java中遇到了一个问题,无法找到求一个数组中所有整数的和的有用方法,Math
类中也没有这个方法。
这里大部分的答案都是使用内置函数。
如果您想了解这个问题背后的整个逻辑,这是我的答案:
import java.util.*;
public class SumOfArray {
public static void main(String[] args){
Scanner inp = new Scanner(System.in);
int n = inp.nextInt();
int[] arr = new int[n];
for(int i = 0; i < n; i++){
arr[i] = inp.nextInt();
}
System.out.println("The sum of the array is :" + sum(arr));
}
static int sum(int[] arr){
int sum = 0;
for (int a = 0; a < arr.length; a++){
sum = sum + arr[a];
}
return sum;
}
}
class Addition {
public static void main() {
int arr[]={5,10,15,20,25,30}; //Declaration and Initialization of an Array
int sum=0; //To find the sum of array elements
for(int i:arr) {
sum += i;
}
System.out.println("The sum is :"+sum);//To display the sum
}
}
/**
* Sum of all elements from 1 to 1000
*/
final int sum = Stream.iterate(1, n -> n + 1).limit(1000).mapToInt(el -> el).sum();
数学类中没有“方法”可以做这样的事情。这不像是一个平方根函数或类似的东西。
你只需要为总和设置一个变量,然后循环遍历数组,将找到的每个值添加到总和中即可。
我们可以使用用户定义的函数。首先将sum变量初始化为零。然后遍历数组并将元素与sum相加。然后更新sum变量。
代码片段:
import java.util.*;
import java.lang.*;
import java.io.*;
class Sum
{
public static int sum(int arr[])
{
int sum=0;
for(int i=0; i<arr.length; i++)
{
sum += arr[i];
}
return sum;
}
public static void main (String[] args)
{
int arr[] = {1, 2, 3, 4, 5};
int total = sum(arr);
System.out.printf("%d", total);
}
}
找到数组元素之和的算法:
请参考下面的代码:
import java.io*;
import java.util*;
import java.text*;
import java.math*;
import java.util.regex*;
class Test{
static int arr[] = {1,2,3,4,10,11}
//method for sum of elements in an array
static int sum()
{
int sum = 0; //initialize sum
int i;
//iterate through all elements and add them to sum
for (i=0; i<arr.length;i++)
sum += arr[i];
return sum;
}
//driver method
public static void main(String[] args){
System.out.println("Sum of given array is " + sum());
}
}
Scanner input = new Scanner(System.in);
int length = input.nextInt();
public class AddDemo {
public static void main(String[] args) {
ArrayList <Integer>A = new ArrayList<Integer>();
Scanner S = new Scanner(System.in);
System.out.println("Enter the Numbers: ");
for(int i=0; i<5; i++){
A.add(S.nextInt());
}
System.out.println("You have entered: "+A);
int Sum = 0;
for(int i=0; i<A.size(); i++){
Sum = Sum + A.get(i);
}
System.out.println("The Sum of Entered List is: "+Sum);
}
}
public class Num1
{
public static void main ()
{
//Declaration and Initialization
int a[]={10,20,30,40,50}
//To find the sum of array elements
int sum=0;
for(int i=0;i<a.length;i++)
{
sum=sum+i;
}
//To display the sum
System.out.println("The sum is :"+sum);
}
}
从Java 8开始,Lambda表达式的使用已经变得可用。
请参见:
int[] nums = /** Your Array **/;
紧凑:
int sum = 0;
Arrays.asList(nums).stream().forEach(each -> {
sum += each;
});
偏好:
int sum = 0;
ArrayList<Integer> list = new ArrayList<Integer>();
for (int each : nums) { //refer back to original array
list.add(each); //there are faster operations…
}
list.stream().forEach(each -> {
sum += each;
});
返回或打印总和。
ArrayList list = new ArrayList();
for (int each : nums) { list.add(each); }
list.stream().forEach(each -> {
sum[0] += each;
});
- Zhurov Konstantin