给定数组java中邻居对的绝对差值之和

时间:2016-11-15 21:38:54

标签: java sum

如果d=15. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

,我需要为某种类型的键盘编写程序

用户输入应为d(此键盘的长度),n(多少次按下sbd,例如。3)和三个按钮,由用户选择,例如4 7 2

然后,程序应该计算所有这些输入整数之间的长度(在这种情况下从4到7然后从7到3,即7)并打印总和。

我以某种方式设法达到了这样的程度:我唯一不知道如何做的就是如何实际总结所有配对差异并将其打印出来。

代码:

int d=sc.nextInt();    
int n=sc.nextInt();

 int arr[]=new int[n];
    for(int i=0;i<n;i++){//for reading array
    arr[i]=sc.nextInt();

    }

        int sum=0;
        int diff=0;

        for(int i=0;i<=arr.length-1;i++) {
            if(i<)
                diff = Math.abs(arr[i+1]-arr[i]);    
        }
        sum+=diff;
        System.out.println(sum);

但基本上唯一能做的就是返回数组最后两个值之间的差异。

我该如何解决?

1 个答案:

答案 0 :(得分:1)

你错过的是在周期之外进行求和,你需要在周期内做这个,因为你希望为你计算差异的每一对完成

for(int i=0;i<=arr.length-1;i++) {
    diff = Math.abs(arr[i+1]-arr[i]);   
    sum+=diff; // you need to move this into the cycle
}