2016-11-15 75 views
-1

我需要編寫一個程序某種鍵盤會是這樣的,如果d=15. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14總和的定陣列中的Java

用戶輸入應D(此鍵盤的長度)的鄰居對絕對的差異,正(多少buttens sbd press,例如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

差異請分享您已有的代碼,您試過的選項 – Ivan

+0

我認爲這可能就夠了。它基本上是所有的東西,但是類別和方法 –

+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 
} 
+0

非常感謝! –