Oi. O código que desenvolvi é pra somar os números de um array e mostrar o resultado da soma.
Na compição, deu tudo ok. Mas o resultado mostra letras e outros caracteres, quando deveriam ser apenas números.
[code]public class Array2 {
public static void main (String []args){
int[] valores = {1,3,6,8,34,21,4,2};
System.out.println(soma(valores));
}
public int soma (int[] valores){
int somaCol = 0;
for (int i = 0; i < valores.length; i++){
somaCol += valores[i];
}
return somaCol;
}
}[/code]
Pelo que eu pesquisei, eu deveria colocar import java.util.Arrays; e posteriormente System.out.println( Arrays.toString(valores) );
Mas quando eu coloco isso dá um erro de compilação:
[quote=drsmachado]Onde você achou essa fonte que disse isso?
Onde está o erro?
Aliás, o método toString() não aceita parâmetros (nada dentro dos parênteses).[/quote]
Foi meu professor que mostrou. O erro tá no print. Não to conseguindo fazer o resultado aparecer. Eis o texto que o professor mandou:
Se tivermos um array como:
int [] valores = { 10, 15, 5, 20, 7 };
a ação:
System.out.println(valores);
não apresentará corretamente os valores do array uma vez que o método println só está preparado para apresentar valor primitivos (números, String, char). Para apresentar corretamente os valores do array é melhor converter este array para String utilizando o método toString da classe Arrays e, então, imprimir este String:
System.out.println( Arrays.toString(valores) );
Outra forma é percorrer o array e imprimir um a um seus valores.
Sim, mas [quote=helex]
é melhor converter este array para String utilizando o método toString da classe Arrays e, então, imprimir este String:
[/quote] não é isso.
O que você deve printar é o retorno do método soma e não o array, convertido em string.
Aliás, a forma como você está chamando o método soma não irá funcionar.
Você precisa criar um objeto de Array2 e invocar o método, senão, vai dar erro, pois o método não é static.
[quote=drsmachado]Aliás, a forma como você está chamando o método soma não irá funcionar.
Você precisa criar um objeto de Array2 e invocar o método, senão, vai dar erro, pois o método não é static.[/quote]
Pois é, esqueci do static. Coloquei, e dei o print no método. Ficou certinho agora