int calculaCombinacao(int a[],int b[]){
combinacao[] = a[];
moedas[] = b[];
:
:
Nao tá funcionando assim…
int calculaCombinacao(int a[],int b[]){
combinacao[] = a[];
moedas[] = b[];
:
:
Nao tá funcionando assim…
bem, o vetor é um objeto, logo.. ele será passado por referencia normalmente (há algumas sutilezas neste processo... mas contanto q tu não tente mudar o valor da referencia do parametro, esta tudo bem..)... O erro é o fato de tu estar usando os colchetes em "a" e "b" na atribuição..., bem, assim ó:
int calculaCombinacao( int a[], int b[] ) {
int combinacao[], moedas[];
combinacao = a;
moedas = b;
...
}
.. no caso, combinacao e moedas sao variaveis locais ao metodo... mas podem ser de instancia tb..
valeu matheus, vou testar.
obrigado pela resposta…(que rápido!)
na verdade eu quero trabalhar com estes vetores que estao chegando… eu vou poder alterar moedas e combinacao ? eh isso que tu disse que eu nao posso fazer ? (nao entendi muito bem)
mesmo assim obrigado…
valeu mesmo.
bem, tu pode sim alterar o conteudo dos vetores q vem pelos parametros, oq tu não pode, é alterar o valor da referencia deles e achar q depois do método ser executado, a referencia q foi passada pro parametro esta apontando pra este valor q tu atribuiu no método, digo, se tu tem isso ai:
void metodo1()
{
int vetor[] = new int[] { 10, 100, 1000, 10000 };
metodo2( vetor );
// aqui, vetor não tem os valores 1 e 2!
}
void metodo2( int vetor[] )
{
vetor = new int[2];
vetor[0] = 1;
vetor[1] = 2;
}
...não sei se consegui ser claro, pra mais detalhes, veja este link:
[url]http://www.portaljava.com/home/modules.php?name=Forums&file=viewtopic&t=3845[/url]
bah, tá cada vez mais dificil… acho que eh a hora…
nao tá rendendo hj.
nao visualisei bem o que tu quiz dizer…
eu queria somente um método, que recebece 2 vetores, A[3 5 7] e
B [7 4 3]… depois fazia uma multiplicacao entre os valores, e no final retornava a soma pra quem chamou este metodo…
for (i=0,i<3,i++){
result+= a[i]*b[i];
}
return soma;
soh que eu nao consigo com que a/b do for recebam os valores que estao sendo passados.
bem, vejamos... o método seria algo como:
int soma( int a[], int b[] )
{
int resultado = 0;
// sempre inicialize suas variaveis locais
// antes de usá-las! :)
for ( int i = 0; i < a.length(); i++ )
resultado += a[i] + b[i];
return resultado;
}
...e em outro código, poderia chamar assim:
// inicialize os vetores com algum
// valor diferente de zero..
int a = new int[3];
int b = new int[3];
int resultado = soma( a, b );