Alguém consegue me ajudar, oq está errado?

/**
* @param args the command line arguments
*/
public static void main(String[] args) {

    double vetor[] = {2, 4, 6, 8, 10};
    
    int soma = 0;
    for (int i = 0; i <= vetor.length; i++) {
        soma += vetor[i];
    }
    
    System.out.println("Soma: " soma);
}

Deveria ser i < vetor.length. Os índices de um array começam em zero, então não pode ir até o length, tem que parar uma posição antes. Senão vc tenta acessar uma posição que não existe.

2 curtidas

Eu acho que soma sendo um ‘int’ não consegue receber a atribuição dos valores nos indices do vetor por ele (vetor) ser um ‘double’.
Teria que fazer um casting, acho que:
soma += (int) vetor[i];
Não tenho certeza que o problema seja esse, mas da uma olhada sobre casting em tipos primitivos.

2 curtidas