[RESOLVIDO] Erro ao dar print num Array

10 respostas
helex

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.

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

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.

10 Respostas

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

helex

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

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.

aechiara

mas o que vc quer fazer ?

mostrar os elementos do array ou a soma ?

helex

aechiara:
mas o que vc quer fazer ?

mostrar os elementos do array ou a soma ?

mostra a soma

drsmachado

Sim, mas

helex:

é melhor converter este array para String utilizando o método toString da classe Arrays e, então, imprimir este String:
não é isso.

O que você deve printar é o retorno do método soma e não o array, convertido em string.

aechiara

muda

public int soma(int[] valores)

para

public static int soma(int[] valores)

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.

helex

Ah sim, agora consegui.

Erro bobo o meu.

Valeu aí caras.

helex

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.

Pois é, esqueci do static. Coloquei, e dei o print no método. Ficou certinho agora

drsmachado

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

Criado 9 de junho de 2011
Ultima resposta 9 de jun. de 2011
Respostas 10
Participantes 3