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 № 1O 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;
}