2016-12-02 11 views
-2

for loopenhanced loopの配列のすべての桁を合計しようとしています。 for loopは問題なく動作していますが、enhanced loopout of bounds errorです。拡張ループが正しく値を加算しない

は、コードに従う:

import java.util.*; 

public class test 
{  
    public static void main(String[]args) 
    { 
    //This code sums all of the values in an array with a for loop 

    int count = 0; 

    int[] array = {1,2,3,4,5,6,7,8,9,10};   

    for(int item = 0; item<array.length; item++) 
     { 
      count += array[item]; 
     } 

     System.out.println(Arrays.toString(array) + "\nCount = " + count); 
////////////////////////////////////////////////////////////////////////////// 
     //This code is supposed to sum all of the digits in an array with a enhanced loop 
     int count2 = 0; 

    int[] array2 = {1,2,3,4,5,6,7,8,9,10};   

    for(int item : array2) 
     { 
      count2 += array2[item]; 
     } 

     System.out.println(Arrays.toString(array2) + "\nCount = " + count2);    
    } 
} 
+0

javaでは、 'item'は値を表し、これはjavascriptと似ていません。ここで' item'はインデックスを表します。 – AxelH

答えて

1

強化ループは、それは項目自体を抽出indexing-はカウントされません。したがって、あなたが必要とするのは次のとおりです:

for(int item: array2){ 
    count2 += item; 
} 
+0

@SarTheFirstにお返事いただきありがとうございます。コードが機能しました。 APコンピュータサイエンスのクラスの誰もその答えを知りませんでした。 –

関連する問題