Ir para o conteúdo
alny

methodo adicionar em java

Mensagens Recomendadas

alny

ola pretendo adicinar um autor na minha track

restrições :

.não pode adicionar o author com ID igual,

só pode ter maximo de cinco author na minha track.

tenho o codigo feito mas não funciona tão bem como esperava e gostaria q alguém me explicasse ou algo assim

public boolean addAuthor(int id, Author aut) {
       for (int index = 0; index < this.author.length; index++) {
           if (this.author[index] != null) {
               if (id != this.author[index].getIdAuthor() && this.author.length < 5) {
                   this.author[index] = aut;
                   return true;
               }
           }
       }
       return false;
   }

Editado por brunoais
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
AJBM

Boas!

O que esta acontecer é se o id do primeiro autor do array for diferente do que queres adicionar, ele adiciona nessa posição, não é isso que queres.

Aconselho te a separar os métodos faz um que verifique se um dado id existe, e outro para adicionar.

Não precisas de passar o id como parâmetro pois o autor já tem esse atributo.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
alny

bem tenho este novo codigo.

este codigo já ta adicionar mas o problema é que tb adiciona author com ids iguai e eu não esperava isso.

espero que alguém possa me ajudar

public boolean addAuthor(Author[] aut) {
       int ids[] = new int[aut.length];
       for (int index = 0; index < this.author.length; index++) {
           for (int y = 0; y < ids.length; y++) {
               if (ids[y] == 0) {
                   ids[y] = aut[index].getIdAuthor();
                   break;
               }
               if (ids[y] != author[index].getIdAuthor()) {
                   this.author = aut;
                   return true;

               }
           }
       }
       return false;
   }
}

Editado por brunoais
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
AJBM

Porque que estas a passar um array de autores, basta passares um autor.

Divide os métodos e mais fácil, no verificarID retorna true se o id existir, e retorna false caso contrario, depois trabalhas com este método no add

Editado por AJBM

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
alny

coloca esse código aqui

public boolean addAuthor(Author[] aut) {

int ids[] = new int[aut.length];

for (int index = 0; index < this.author.length; index++) {

for (int y = 0; y < ids.length; y++) {

if (ids[y] == 0) {

ids[y] = aut[index].getIdAuthor();

break;

}

if (ids[y] != author[index].getIdAuthor()) {

this.author = aut;

return true;

}

}

}

return false;

}

}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.