Dúvidas sobre vetor

7 respostas
Thiago_Java08
Olá pessoal!!! Primeiramente boa noite a todos.. Gostaria de pedir uma ajudinha de vocês, estou tentando retornar um vetor só que estou tendo problemas, segue o código abaixo:
public class Teste {
	public static void main(String [] args){
		int [] v, va;
		v = new int [10];
		va = new int [10];
		for (int i=0;i<10;i++){
			v[i] = i;
			va[i] = i;
			System.out.println(v[i]+"\t"+va[i]);
		}
			
				soma(v,va);
				System.out.println(b[]);		
	} 
	
public static int soma(int[] v1,int[] v2){
int b[]=new int [10], v3=0;
for (int i=0;i<10;i++){
	v3+=v1[i]+v2[i];
	System.out.println(v3);
	b[i]=v3+1;
}return(b);
}}

Desde já agradeço a todos!!

7 Respostas

D

der vocês esta retornando um int e não um int[] ^^ é isso

Thiago_Java08

???

D

Foi mau ai broder.
então, é que no seu método soma você esta retornando um inteiro e não um array de inteiro

public static int soma(int[] v1,int[] v2)

então acredito que para resolver esse problema basta mudar a assinatura para

public static int[] soma(int[] v1,int[] v2)

espero ter ajudado mano, qualquer coisa é so postar ^^

Thiago_Java08

Valeu pela força!!! Mais ainda não rodou!

D

mano so um minuto que vou testar teu codigo aki…

D

Mano digitando teu codigo notei um erro, descupa não ter notado antes.

soma(v,va);  
System.out.println(b[]);

não entendi, que b[] é esse??

Tipo apesar de array não se um objeto (na verdade nem sei se posso dizer isso) quando você passar apenas um array para System.out.println(), ele não vai ter todos seus valores impressos, algo parecido como passar um objeto acontece, ou sejá uma chamada a toString() do objeto que retorna um string que representa o objeto, mas no caso do array imprime uma sequencia estranha que realmente não sei como funciona o array, mas a solução do seu problema pode ser a seguinte.

no método soma(), se o proposito é criar um array que some os indices dos outros dois, tipo v[0] + va[0], pode fazer:

[/code]
int b[] = new int[10];
for (int i = 0; i < 10; i++)
{
b[i] = v[i] + va[i];
}

return b;
e no metodo main, pode-se usar assim:

[code]
int b[] = soma(v, va);
for (int i : b)
{
    System.out.prinln(i);
}

acho que isso resolve mano

Thiago_Java08
Valeuuuu!!!!! Obrigado pela sua ajuda, agora estou começando a intender um pouco mais sobre arrays
public class Teste {   
    public static void main(String [] args){   
        int [] v, va;  
        v = new int [10];   
        va = new int [10];   
        for (int i=0;i<10;i++){   
            v[i] = i;   
            va[i] = i;   
            System.out.println(v[i]+"\t"+va[i]);   
        }   
              int b[] = soma(v,va);  
                for (int j : b){   
                  System.out.println(j);   
                }            
    }   
       
public static int[] soma(int[] v1,int[] v2){  
 int b[]=new int [10];
for (int i=0;i<10;i++){
	b[i]=v1[i]+v2[i];
}return (b);

}}
Criado 9 de abril de 2008
Ultima resposta 10 de abr. de 2008
Respostas 7
Participantes 2