[RESOLVIDO] Erro ao dar print num Array

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:

cannot find symbol method toString(int)

Qual a solução? Obrigado pela atenção.

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=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.

mas o que vc quer fazer ?

mostrar os elementos do array ou a soma ?

[quote=aechiara]mas o que vc quer fazer ?

mostrar os elementos do array ou a soma ?[/quote]

mostra a soma

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.

muda

public int soma(int[] valores)

para

public static int soma(int[] valores)

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.

Ah sim, agora consegui.

Erro bobo o meu.

Valeu aí caras.

[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

[Resolvido], então?
Coloca [resolvido] no título do tópico