estou tendo alguns problemas com logica nesse algoritimo. talvez falta de estudo… esse codigo esta me retornando um null pointer enquanto eu itero pelas 2 arrays para descobrir se há algum item igual em ambas…
pq vc passa o first e o second por parametro se ao entrar no metodo vc “zera” eles?
pq vc cria com tamanho 50 se só usa 3 elementos?
pra q serve o x nessa historia? pra ver qtos repetidos tem? pq se for ele teria q começar com 0 né?
onde ocorre o null? tem como colocar o método num try, catch e mostrar pra gente o printstack dele?
Bom seguindo a dica do amigo ai encima tb nao entendi porque você colocou parametro
mais o erro que dar é pq as array é de referencia ai os campos nao pode ficar nulo
como você so inicio até a posição 3 os resto dos campos vai ficar nulo por isso o erro
InSeOfKn
Também não entendi o porque dos parâmetros, mas o ideal seria trabalhar com alguma Coleção como List mas acredito que seja algum exercício e você tenha que fazer com Vetores
bom uma solução se você tiver que deixar algumas posições vazias é ao percorrer no for verificar se é null segue o codigo:
for(int i = 0; i < first.length - 1; i++) { // por acaso você não teria que verificar se tem um repetido na ultima posição
if(first[i]==null) continue;
for(int j = 0; i < second.length - 1; j++){ //digo o mesmo
if(second[j]==null) continue;
if(first[i].equals(second[j])){
x++;
}
}
}
Também acho que o x deveria começar com 0.
Até!
aajjbb
desculpa a todos. no final de semana fico sem internet. por isso a demora… sim. colei o codigo errado… os parametros realmente foram um erro…
o codigo esta assim no momento. mesmo assim existem 4 elementos com o nome "fish" mesmo assim. ele só me retorna 3;
fish veriaficar se é igual a fish
fish veriaficar se é igual a lolipop
fish veriaficar se é igual a fish
jealous verificar se é igual a fish
jealous verificar se é igual a lolipop
jealous verificar se é igual a fish
fish veriaficar se é igual a fish
fish veriaficar se é igual a lolipop
fish veriaficar se é igual a fish
então porque no loop interno você faz j = i ??
se ele tem que voltar a verificar desdo inicio??
Natalia_Lima
Então cara, é que seu J inicia com o valor de I.
Com essa lógica vc chega ao resultado 3 mesmo..
Na sua lógica ele não compara a posição de first com todas as posições de second.
Ele compara a posição atual de first com as posições iguais ou maiores em second.
agora sim entendi… obrigado… é que vi como exemplo e isso. e fiz o mesmo nesse algoritimo. com a ultima mensagem, finalmente entendi os fors encadeados. obrigado;