/ / Loop aprimorado que não soma valores corretamente - java, matrizes, for-loop, foreach

Loop aprimorado que não soma valores corretamente - java, arrays, for-loop, foreach

Estou tentando somar todos os dígitos em uma matriz com um for loop e um enhanced loop. o for loop está funcionando bem, mas o enhanced loop está retornando um out of bounds error.

Segue o código:

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);
}
}

Respostas:

1 para resposta № 1

O loop aprimorado não conta a indexação - ele extrai o item em si. Então, tudo que você precisa é:

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