package assignment;
import java.util.Arrays;
import java.util.Scanner;
public class assignment {
public static void main(String[] args) {
double[] a = new double[] {9.0, 8.0, 7.0, 6.0, 5.0, 4.0};
int index1;
Scanner user_input = new Scanner(System.in);
System.out.println("index 1 invoeren");
index1 = user_input.nextInt();
int index2;
System.out.println("index 2 invoeren");
index2 = user_input.nextInt();
//System.out.println(index1);
//System.out.println(index2);
}
public void DoubleSegsum(double[] a, int from, int to){
}
}
我需要编写一个方法DoubleSegsum(如上所示),我可以在位置a
和from
之间得到to
元素的总和。
例如(a,2,4)应该返回13。
我正在尝试用
Arrays.asList(a).indexOf(index1)
但每次都会给我-1
我不知道如何在其他方法中使其恶化
答案 0 :(得分:3)
public static void DoubleSegsum(double[] a, int from, int to){
double sum=0;
for(int i=from;i<to;i++){
sum+=a[i];
}
System.out.println(sum);
}
答案 1 :(得分:1)
您可以使用简单的for
循环执行此操作,使用start和stop,如:
double sum=0;
for(int i=start; i<stop; i++)
sum+=array[i];
答案 2 :(得分:1)
这样的东西?
public void DoubleSegsum(double[] a, int from, int to){
double sum = 0.0;
for(;from < to; from++){
sum += a[from];
}
System.out.println(sum);
}
答案 3 :(得分:1)
public double DoubleSegsum(double[] a, int from, int to){
double sum = 0;
for (int i = from; i < to && i < a.length; i++) {
sum += a[i];
}
return sum;
}
答案 4 :(得分:1)
public double doubleSegsum(double[] a, int from, int to) {
return DoubleStream.of(a).skip(from).limit(to-from).sum();
}